Cekol Opublikowano 8 Sierpnia 2006 Udostępnij Opublikowano 8 Sierpnia 2006 witam mam pewiemn problem.heh... robie grę w której będzie 100 broni :P i niemoge sobie z nimi poradzić jeśli chodzi o ich wybieranie. bronie podzieliłem na grupy czyli 10 broni pod 1 klawisz od 1 do 0 (1-2-3-4-5-6-7-8-9-0) no i niemoge uporać się z : jak się kliknie 1 to ma sie ustawić broń nr1 po ponownym naciśnięciu 1 ma się ustawić broń nr2 i tak dalej. aż do nr10 i jeśli niema jakiejś broni to aby przeszedł do następnej. proszę o pomoc Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 8 Sierpnia 2006 Udostępnij Opublikowano 8 Sierpnia 2006 Zrób to na zmiennych,nie jestem pewien,ale to chyba będzie tak: if (bron =1) { bron=2 } //i tak dalej Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
morty Opublikowano 8 Sierpnia 2006 Udostępnij Opublikowano 8 Sierpnia 2006 Pisałem poniższy kod z pamięci, może być nie do końca poprawny. Załóżmy że masz 100 broni - niech ich id to liczby od 0 do 99. Aby pobrać numer obecnie używanej broni potrzebne są dwie zmienne - offset i pozycja: if(keyboard_check_pressed(przycisk 1)) { if(offset!=0) { offset=0; pozycja=0; } else { pozycja+=1; } if(pozycja==10) pozycja=0; } if(keyboard_check_pressed(przycisk 2)) { if(offset!=10) { offset=10; pozycja=0; } else { pozycja+=1; } if(pozycja==10) pozycja=0; } if(keyboard_check_pressed(przycisk 3)) { if(offset!=20) { offset=20; pozycja=0; } else { pozycja+=1; } if(pozycja==10) pozycja=0; } if(keyboard_check_pressed(przycisk 4)) { if(offset!=30) { offset=30; pozycja=0; } else { pozycja+=1; } if(pozycja==10) pozycja=0; } if(keyboard_check_pressed(przycisk 5)) { if(offset!=40) { offset=40; pozycja=0; } else { pozycja+=1; } if(pozycja==10) pozycja=0; } if(keyboard_check_pressed(przycisk 6)) { if(offset!=50) { offset=50; pozycja=0; } else { pozycja+=1; } if(pozycja==10) pozycja=0; } if(keyboard_check_pressed(przycisk 7)) { if(offset!=60) { offset=60; pozycja=0; } else { pozycja+=1; } if(pozycja==10) pozycja=0; } if(keyboard_check_pressed(przycisk 8)) { if(offset!=70) { offset=70; pozycja=0; } else { pozycja+=1; } if(pozycja==10) pozycja=0; } if(keyboard_check_pressed(przycisk 9)) { if(offset!=80) { offset=80; pozycja=0; } else { pozycja+=1; } if(pozycja==10) pozycja=0; } if(keyboard_check_pressed(przycisk 0)) { if(offset!=90) { offset=90; pozycja=0; } else { pozycja+=1; } if(pozycja==10) pozycja=0; } idbroni=offset+pozycja; Mając id droga dalej jest prosta :) To rozwiązanie ma jeszcze jedną zaletę - wystarczy, że podzielisz zmienną offset przez 10 i otrzymujesz id grupy broni (od 0 - 9) Mała podpowiedź: Jeśli chcesz, by w przypadku broni ustawiała się następna, to polecałbym stworzenie tablicy np. amunicja, w której indeksem byłoby id broni a wartością ilość amunicji. Jeśli ilość amunicji = 0 to broni nie ma. Czyli, dodając taki kawałek kodu if(amunicja[offset+pozycja]==0) pozycja+=1; do każdego przypadku (a gdzie to już sam pomyśl) masz sprawdzanie czy taka broń jest. UWAGA - zakładam, że co najmniej jedna broń z grupy jest dostępna. Jeśli tak nie jest, to będziesz musiał pokombinować - napisać skrypt, zawierający pętle iteracyjną dla 10 elementów tablicy amunicja, o indeksie początkowym równym id pierwszej broni z grupy, którą chcesz wybrać. Jeśli suma amunicji wszystkich iterowanych elementów wyniosłaby zero, to nie rób nic, w przeciwnym wypadku wykonaj zdarzenia spod danego klawisza. Mam nadzieję, że jasno napisałem ;p? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 8 Sierpnia 2006 Autor Udostępnij Opublikowano 8 Sierpnia 2006 ok jakoś działa. ale mam jeszcze drógie pytanie wogule nie na temat: niemoge sobie poradzić z pewną żeczą :P a dokładniej z samochodami i weypointami. ja niechce używać wbudowanych weypointów w gmie tylko jako obiekty więc mam 2 obiekty -o_samochod -o_weypoint i w obiekcie o_weypoint on createjest coś takiego: global.weypoint_number+=1 number_weypoint=global.weypoint_number i ja bym chciał aby samochód jechał w stronę weypointu który ma number_weypoint=1. i jeśli do niego dojedzie,zbliży się do niego to ma jechać do weypointu który ma number_weypoint=2 itd... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maximal Opublikowano 8 Sierpnia 2006 Udostępnij Opublikowano 8 Sierpnia 2006 ok jakoś działa. ale mam jeszcze drógie pytanie wogule nie na temat: niemoge sobie poradzić z pewną żeczą :P a dokładniej z samochodami i weypointami. ja niechce używać wbudowanych weypointów w gmie tylko jako obiekty więc mam 2 obiekty -o_samochod -o_weypoint i w obiekcie o_weypoint on createjest coś takiego: global.weypoint_number+=1 number_weypoint=global.weypoint_number i ja bym chciał aby samochód jechał w stronę weypointu który ma number_weypoint=1. i jeśli do niego dojedzie,zbliży się do niego to ma jechać do weypointu który ma number_weypoint=2 itd... A to w GMie są jakieś wbudowane waypointy? :blink: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 9 Sierpnia 2006 Autor Udostępnij Opublikowano 9 Sierpnia 2006 A to w GMie są jakieś wbudowane waypointy? przepraszam. pomyliłem się. chodziło mi o paths'e Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maximal Opublikowano 9 Sierpnia 2006 Udostępnij Opublikowano 9 Sierpnia 2006 przepraszam. pomyliłem się. chodziło mi o paths'e A, to już rozumiem o co chodzi :) To proste, wystarczy przy kolizji z waypointem dać direction=point_direction(x,y, nastepny_waypoint.x,nastepny_waypoint.y) :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 9 Sierpnia 2006 Autor Udostępnij Opublikowano 9 Sierpnia 2006 A, to już rozumiem o co chodzi To proste, wystarczy przy kolizji z waypointem dać CODEdirection=point_direction(x,y, nastepny_waypoint.x,nastepny_waypoint.y) no tylko ja chciałbym robić te weypointy jako 1 obiekt. czyli na mapie kilka tycgh samych obiektów Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 9 Sierpnia 2006 Filar Społeczności Udostępnij Opublikowano 9 Sierpnia 2006 Cekol, a co to za problem? I nie pisz weypoint tylko waypoint! 1) Robisz obiekt wp. 2) Ustawiasz na planszy parę obiektów wp, wzdłuż drogi. 3) Spisujesz kolejne id wszystkich wp i tworzysz globalną tablicę z ich numerkami w odpowiedniej kolejności. Dodajesz jeszcze globalną zmienną z sumą obiektów wp. 4) Robisz samochodowi takie coś by podążał w stronę wp z pierwszego indeksu tablicy (dajmy na to w creation code w samochodzie indeks=0;) 5) Dajesz warunek, że jeżeli samochód jest już bardzo blisko wp, to indeks +=1; i teraz ma podążać za kolejnym wp. 6) Jeżeli indeks przekroczy liczbę wp z globalnej tablicy, to indeks = 0; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 9 Sierpnia 2006 Autor Udostępnij Opublikowano 9 Sierpnia 2006 ok działa thx Ranmus. ale mam jeszcze 1 problem i to trudny! bo ja bym zrobić jak samochód uderzy w samochód to aby one od siebie odepchnęły. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 9 Sierpnia 2006 Filar Społeczności Udostępnij Opublikowano 9 Sierpnia 2006 Mogę zrobić w sumie przykład na to, ale hm... w czasie konkursu? XD Może lepiej zastosować jakiś silnik fizyczny niż samemu modzić w skryptach. Tak by było chyba szybciej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 9 Sierpnia 2006 Autor Udostępnij Opublikowano 9 Sierpnia 2006 no właśnie mam pytanie. bo do fizyki w 2d z boku to jest GMPhysicsV4 a do fizyki 2D ale z góry to jest jakiś? ? ? ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marmot Opublikowano 9 Sierpnia 2006 Udostępnij Opublikowano 9 Sierpnia 2006 a do fizyki 2D ale z góry to jest jakiś? ? ? ? GM ODE - jest do wszystkiego :P , ale prędkością nie powala :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się