Radar 3d

Problemy ze skryptami w BGE.
araagon
Posty: 231
Rejestracja: 19 lip 2012, 6:15

Radar 3d

Postautor: araagon » 02 cze 2014, 12:36

Witajcie
Mam do was pytanie i zarazem prośbę. Jako iż w wolnych chwilach pracuje sobie nad swoją kosmiczną strzelaniną okazało się że będę potrzebował radaru 3d. Stąd moje pytanie czy da się kopiować w sposób ciągły położenia obiektów w przestrzeni 3d?
Chciałbym wykonać prosty radar w kształcie przezroczystej kuli gdzie mój statek będzie zobrazowany po środku jako zielona kropka a statki nieprzyjaciela jako czerwone kropki. Oczywiście radar musi być na osobnej scenie więc trzeba też przesłać dane wszystkich obiektów pomiędzy scenami, druga sprawa to zasięg radaru który można by płynnie zmniejszać lub zwiększać.
jak ktoś ma jaki sposób to proszę o pomoc!
araagon

Awatar użytkownika
lukaszfito
Posty: 140
Rejestracja: 28 gru 2013, 1:37
Lokalizacja: Gdańsk
Kontaktowanie:

Re: Radar 3d

Postautor: lukaszfito » 02 cze 2014, 15:56

Ciekawe czy się pomylę stwierdzeniem, że wystarczy jak podam parę linijek kodu, byś sam rozgryzł swój problem ;)

Kod: Zaznacz cały

# zmienna globalna działająca na wszystkich scenach
bge.logic.pozycje = []

# każdy wrogi statek może wysłać do zmiennej swoją pozycję
import bge
owner = bge.logic.getCurrentController().owner
bge.logic.pozycje += [owner.position]

# radar może wyświetlić punkty przy pomocy addObject() w pętli
for punkt in bge.logic.pozycje:
    czerwona = bge.logic.getCurrentScene().addObject("czerwona_kropka", "zielona_kropka", 1)
    czerwona.setParent("zielona_kropka")
    czerwona.localPosition = ...

# po pętli trzeba wyzerować zmienną
bge.logic.pozycje = []

Odległość wyświetlania punktów wystarczy zrobić przez getDistanceTo(), a żeby dynamicznie zmienić skalę, to musisz już dodać jakąś zmienną skalującą w sprawdzaniu odległości, przeliczaniu odległości itd. :D

araagon
Posty: 231
Rejestracja: 19 lip 2012, 6:15

Re: Radar 3d

Postautor: araagon » 02 cze 2014, 19:18

Dzięki za pomoc, mam nadzieję że rozgryzę to w najbliższym czasie. Jak nie to będę prosił o dalsze wyjaśnienia bo nie za bardzo znam się na Pythonie, jestem raczej od modelowania itd.
araagon


Wróć do „Python”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości