Skocz do zawartości

alwin

Użytkownicy
  • Postów

    396
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez alwin

  1. Witka znów :thumbsup: Naprawdę idzie mi coraz lepiej nauka gm, dzieki Wam chłopaki. Teraz kolejna sprawa- w step wieży mam taki oto kod: GML if (instance_exists(obj_bug)){ // sprawdzamy czy istnieje jakikolwiek wróg near_wrog=instance_nearest(x,y,obj_bug) //pobierasz id najbliższego obiektu o_wrog to zmiennej near_wrog direction=point_direction(x,y,near_wrog.x,near_wrog.y) //ustawiamy direction w kierunku najbliższego wroga if (point_distance(x,y,near_wrog.x,near_wrog.y) < bullet_zasieg) // jezeli najblizszy wrog jest w zasiegu wiezy { if strzela=true { p=instance_create(x,y,obj_bullet_tower1) //tworzymy pocisk i jego id zapisujemy do zmiennej p p.direction=direction //stworzonemu pociskowi nadajemy kierunek równy kierunkowi wieży p.speed=bullet_speed; //i speed</span> p.image_angle=direction bullet_int-=1; alarm[0]=bullet_delay; strzela=false } image_angle=direction; } else{}; } gdzie obj_bug to wróg do którego mierzy tower. Słuchajcie a jeżeli tych wrogów będzie np 10 rodzajów? powiedzmy obj_bug1,obj_bug2,obj_bug3 itp to jak przerobić ten kod wyżej? tzn głównie chodzi mi o GML if (instance_exists(obj_bug)){ Czy muszę ten cały blok powtarzać do każdego kolejnego buga? GML if (instance_exists(obj_bug2)){ GML if (instance_exists(obj_bug3)){ próbowałem cos zrobic na petli GML for (i=0; i<=9; i+=1){ list = i+1; zmienna="obj_bug"+string(i); if instance_exists(zmienna){ Cos takiego wymyśliłem ale nie działa.. ps. czy jest możliwość porządkowania kodu w programie? tzn żeby się ładnie poukładał blokami, ifami itp?
  2. Czyli np damage,speed bulleta- wszytsko mieć z towerze? a pózniej nie będzie problemu z zaimplementowaniem kolizji i odejmowaniem, odpowiedniego damage wrogowi? PS D&B, Dubstep ROX:D:D
  3. Znaczy akurat speed i inne tego typu dla pocisku będę tworzył w ich obiektach, tak bedzie chyba lepiej bo jedna wieża może używać różnych broni::) Dzieki za podpowieź, ciekawa ta funkcja wykrywająca najblizszego wroga. A jeszcze mam takie pytanko- w create wierzy mam zmienną bullet_int=8; odpowiada ona za ilość pocisków którą dysponuje. przy każdym wystrzale zrobiłem -=1 . Zrozumiałe. hmm ale problem w tym że znów mam podobny błąd.. próbowałem z tym ID robić ale nie wyszło. GML id_number=instance_id; id_number.bullet_int=8; i później w alarmie GML id_number.bullet_int-=1; Ale się kaszani i wystrzał jednej wieży skutkuje odjęciem naboju każdej z nich:/ jak myślisz? jak to rozwiązac?
  4. Na początku chciałbym się przywitać. Witam serdecznie, mam nadzieję że współpraca z Wami będzie dobrze sie układać :thumbsup: Od razu powiem może jak trafiłem do Was- otóż z grami mam juz trochę wspólnego.. zajmowałem się programowaniem w actionscripcie flashowym, zawsze kłóciłem sie z bratem który- tworzy gry w GM czym się je lepiej robi- flashem czy właśnie GM. No i sam nie wiem.. choc z tego co widzę(przez ostatni tydzień studiowałem dokumentację, przykłady i tutoriale) to macie ogromna pomoc w postaci gotowych juz zmiennych, np odszukiwanie drogi,kolizje czy omijanie przeszkód.. aż się zgarbiłem bo w AS musiałem wszystkie funkcje,klasy itp pisać samemu. A tu proszę - miła niespodzianka:) No więc postanowiłem spróbować sił tutaj. Mam problemy z przestawieniem się niestety na sposób robienia gier w tym programie- jest całkiem inny niż we flashu.. ale damy radę;) No więc na początek chciałbym się podszkolić ogólnie, tworząc jakiegos tower defensa. I pytanie nr 1- mam obj_tower- czyli wieża z której będą strzelali do wrogów.Obraca się ona w kierunku wroga No i jeżeli wróg wejdzie w zasięg mojego obiektu tworzony jest pocisk lecący w jego stronę. dla pocisku zrobiłem tak GML direction=obj_tower.direction; no i Leci sobie w stronę gdzie "patrzy" tower. z Jedną wierzą nie ma problemu.. ale jak to w takiej grze będzie ich więcej no i tu przy testowaniu wychodzi problem.. kolejne pociski z innych wierz przyjmują za direction , direction tej PIERWSZEJ wieży która została stworzona. Także wszystkie naboje lecą w kierunku takim samym.. Myślałem że każdy tower to osobny obiekt z którego będzie szczytywana prywatna zmienna dirtection ale sie pomyliłem. Pewnie to cos prostego ale no nie wiem jak sobie poradzic z tym.. w AS uzywałem CLASS dla obiektów więc każdy był czymś odrębnym. pozdro Alwin
×
×
  • Dodaj nową pozycję...