NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
[TGF2] Sortowanie bez rozszerzeń?
Autor Wiadomość
Mefisto 
Bohater


Główny edytor: MMF2
Drugi edytor: Construct
Pojedynki: być może
Pomógł: 3 razy
Posty: 74

4255 Prestiż
Wysłany: 01-06-2012, 19:33   [TGF2] Sortowanie bez rozszerzeń?

Jak w temacie, można coś takiego osiągnąć?

Potrzebuję tego, aby zrobić wyszukiwanie najbliższego npc od gracza. W zmiennej B zapisywana jest odległość między npc a graczem, jednak nie potrafię zweryfikować który z npc ma najmniejszą zmienną B. Zaznaczam, że używam TGF2 w wersji Newgrounds.

To co udało mi się zrobić:

-na starcie npc mają przypisany id w zmiennej A(spread value)
-zawsze: startuje pętla "distance" tyle razy ile jest npc`ów
-podczas działania pętli w zmiennej B npc`ów zapisuję się ich odległość od gracza
-i tutaj się zatrzymałem...

Próbowałem załatwić to obiektem listy, ale bez powodzenia. Jeśli macie jakieś pomysły jak to rozwiązać, albo macie jakiś inny patent na znajdywanie najbliższego obiektu to proszę piszcie!
 
 
     
Wackyjackie 
Bohater
Starszy Chorąży Sztabowy Randomu


Główny edytor: MMF2 Dev
Drugi edytor: Stencyl
Pojedynki: nie
Pomógł: 69 razy
Posty: 711

36293 Prestiż
Wysłany: 01-06-2012, 19:50   

Obiekty listy są wolne, nie należy ich kiedykolwiek używać, potrafią masakrycznie zwolnić działanie aplikacji, szczególnie flashowej :P .
Pętle we flashu też niewskazane, ale to tak na marginesie.

Skoro już masz bazę odległości od gracza, to wystarczy w pętli zapisywać do innej zmiennej X (pojedynczego obiektu / globalnej!) wartość B (odległość) aktualnie sprawdzanego aktywnego z warunkiem ustawiania X na wartość B, jedynie jeśli X jest większe od B.

I dodajesz zdarzenie Pick Objects which Alterable Value B = ta wartość X --> i co chcesz zrobić z obiektem (zapewne nawiązać dialog ;>).
 
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3444

33725 Prestiż
Wysłany: 01-06-2012, 20:09   

Mefisto napisał/a:
Próbowałem załatwić to obiektem listy, ale bez powodzenia.

A co jeśli na listę wsadzisz x+10000 zamiast x? Wtedy zamiast:

Kod:
1
10
2

Będzie:

Kod:
10001
10002
10010

Wackyjackie napisał/a:
Obiekty listy są wolne

W sumie nie wiem, ale co jak się je ukryje? Sortowanie always byłoby straszne, ale raz na np. pół sekundy nie powinno być tak tragicznie.
 
     
Wackyjackie 
Bohater
Starszy Chorąży Sztabowy Randomu


Główny edytor: MMF2 Dev
Drugi edytor: Stencyl
Pojedynki: nie
Pomógł: 69 razy
Posty: 711

36293 Prestiż
Wysłany: 01-06-2012, 20:22   

Ukrytych nie testowałem - wolę tablicę wsadzić, albo odpowiednik wbudowanej listy (jest "Internal List Object" i polski "List of Numbers").

Robiłem sobie ostatnio z dwóch list debuggery. W pętli puszczanej zawsze 9 razy, wywalałem na ekran zawartość tablicy, dla obu list w tej samej pętli. Bez nich - 450-500FPS. Po ich zastosowaniu, FPSy spadały czasami nawet poniżej 50. Dlatego im już kompletnie nie ufam.

//Napisałem to jak połamany, nie wiem ile razy musiałem edytować ^^ '.
 
 
     
Mefisto 
Bohater


Główny edytor: MMF2
Drugi edytor: Construct
Pojedynki: być może
Pomógł: 3 razy
Posty: 74

4255 Prestiż
Wysłany: 02-06-2012, 10:31   

Wackyjackie napisał/a:
Skoro już masz bazę odległości od gracza, to wystarczy w pętli zapisywać do innej zmiennej X (pojedynczego obiektu / globalnej!) wartość B (odległość) aktualnie sprawdzanego aktywnego z warunkiem ustawiania X na wartość B, jedynie jeśli X jest większe od B.


Wpadłem na to samo, ale nie wiem jak to w praktyce zrealizować :/

RomanX napisał/a:
A co jeśli na listę wsadzisz x+10000 zamiast x? Wtedy zamiast:

Kod:
1
10
2

Będzie:

Kod:
10001
10002
10010


Ok, ale co to zmieni w moim przypadku?
 
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3444

33725 Prestiż
Wysłany: 02-06-2012, 12:33   

Cytat:
Próbowałem załatwić to obiektem listy, ale bez powodzenia.

Myślałam, że w tym problem. Nie wiesz, jak powiązać wartości z obiektami? Dodaj do ciągu jeszcze fixed value, jeśli dasz na końcu, to nie wpłynie to na wynik sortowania, a potem używaj warunku pick object by fixed value.
Czy o co chodzi?
 
     
Mefisto 
Bohater


Główny edytor: MMF2
Drugi edytor: Construct
Pojedynki: być może
Pomógł: 3 razy
Posty: 74

4255 Prestiż
Wysłany: 02-06-2012, 14:19   

Nie wiem jak dodać do listy zmienną B wszystkich npc`ów. Jak uruchamiam pętlę np. "sort" tyle razy ile jest obiektów i daję akcję że podczas działania pętli do listy dodaje się linia z wartością B tylko ostatniego utworzonego npc. Dodawałem zdarzenie loop index=zmienna A npc(zmienna A to identyfikator), ale to nic nie pomogło.
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie
Daj piniondza Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group