Skocz do zawartości

Zablokowane problem z samonaprowadzającą sie rakietą


Rekomendowane odpowiedzi

Problem mam taki, że jak chciałem uruchomić skrypt rakiety, to mi wyskoczył taki błąd: :(

 

FATAL ERROR in

action number 2

of Step Event

for object object1:

 

COMPILATION ERROR in code action

Error in code at line 2:

{

 

at position 2: Variable name expected.

 

i kod

 

GML
if direction not instance_nearest(object0.x,object0.y,object0)

{

if direction>instance_nearest(object0.x,object0.y,object0); direction=direction-3

else

direction=direction+3

}

 

Dla upewnienia się czy czasem nie zrobiłem błędu, zrobiłem drugą wersję kodu:

 

GML
if direction not instance_nearest(object0.x,object0.y,object0)

{if direction>instance_nearest(object0.x,object0.y,object0); direction=direction-3

else direction=direction+3}

 

i znowu błąd

 

FATAL ERROR in

action number 2

of Step Event

for object object1:

 

COMPILATION ERROR in code action

Error in code at line 2:

{if direction>instance_nearest(object0.x,object0.y,object0); direction=direction-3

 

at position 2: Variable name expected.

 

Proszę o wyrozumiałość, bo ja dopiero zaczynam pisać skrypty GML.

Odnośnik do komentarza
Udostępnij na innych stronach

if direction not instance_nearest(object0.x,object0.y,object0) co to jest??

 

powiedz lepiej co chcesz uzyskać :P

 

To miał być kawałek kodu, który miał sprawdzać, czy rakieta nie kieruje się na najbliższy cel. A tak w ogóle chodziło mi o klamrę, i nie pisz tego, co brud na palcach przyniesie.

Odnośnik do komentarza
Udostępnij na innych stronach

w tym momencie to porównałeś direction obektu z id najbliższego obj0.

 

Największym błędem jest użycie not. W warunkach używa się tylko operatorów logicznych ( =, !=, >, <), not jest tylko i wyłącznie przeczeniem.

 

spróbuj może tak:

GML
ID = instance_nearest( x, y, object0 ) // identyfikator najbliższego obiektu

if ( direction != point_direction( x, y, ID.x, ID.y ) // jeżeli kąt rakiety jest różny od kąta między rakietą a najbliższym object0

{

//akcja

}

porównaj kąt z kątem a nie kąt z id

 

i nie pisz tego, co brud na palcach przyniesie.
co masz na myśli? :|
Odnośnik do komentarza
Udostępnij na innych stronach

w tym momencie to porównałeś direction obektu z id najbliższego obj0.

 

Największym warunkiem jest użycie not[/not]. W warunkach używa się tylko operatorów logicznych ( =, !=, >, <), not jest tylko i wyłącznie przeczeniem.

 

spróbuj może tak:

GML
ID = instance_nearest( x, y, object0 ) // identyfikator najbliższego obiektu

if ( direction != point_direction( x, y, ID.x, ID.y ) // jeżeli kąt rakiety jest różny od kąta między rakietą a najbliższym object0

{

//akcja

}

 

co masz na myśli? :|

ty chyba się nie skumałeś w kodzie

Odnośnik do komentarza
Udostępnij na innych stronach

"się nie skumałeś"?

chyba sam się nie skumałeś, bo napisałem dokładnie to co Ty, tyle że bez tych amatorskich błędów.. <_<

 

no tak, ale co z klamrą, bo GM nie chce mi przyjąć kodu:

 

FATAL ERROR in

action number 2

of Step Event

for object object1:

 

COMPILATION ERROR in code action

Error in code at line 4:

{

 

at position 2: Symbol ) expected.

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if direction != instance_nearest(object0.x,object0.y,object0)//jak mozesz kierunek porownywac z objektem?!

{

direction=direction-3

}

else

{

direction=direction+3

}

GML
if direction != instance_nearest(object0.x,object0.y,object0)

{

direction=direction-3

}

else

{

direction=direction+3

}

nie ! tylko !=

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if direction != instance_nearest(object0.x,object0.y,object0)//jak mozesz kierunek porownywac z objektem?!

{

direction=direction-3

}

else

{

direction=direction+3

}

GML
if direction != instance_nearest(object0.x,object0.y,object0)

{

direction=direction-3

}

else

{

direction=direction+3

}

nie ! tylko !=

jak mozesz kierunek porownywac z objektem?!

koleś, czy ty wiesz co znaczy w GML instance_nearest?

 

a tak w ogóle chodzi mi głównie o klamrę

Odnośnik do komentarza
Udostępnij na innych stronach

Jak nie potrafi zrozumieć to daj mu spokój.

 

On nie rozumie że kątu nie można porównywać z ID.

 

To tak jakbym porównywał ciastko z PSP.

 

E:

kąt to może być 215 stopni, a ID obiektu 32133

 

Jak chcesz sprawdzić kąt między Tobą a najbliższym obiektem to dajesz:

GML
dir = point_direction(x,y,instance_nearest(x,y,ocel).x,instance_nearest(x,y,ocel).y) //to daje direction miedzy obiektem(rakieta) a celem(ocel)</span></span>

 

A więc dajesz

GML
if direction != dir

 

A i

GML
instance_nearest(object0.x,object0.y,object0)

Sprawdza który object0 jest najbliżej object0 :x

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...