Skocz do zawartości

unknown variable x?


M@ti002

Rekomendowane odpowiedzi

witam.

mp_potential_step(oidz.x,oidz.y,5,all);

wiem, wiem, byly takie tematy ale nie rozumiem dlaczego wyskakuje error unknown variable x :( chodzi mu o

mp_potential_step(oidz.x,oidz.y,5,all);
obiekt sie tworzy jak sie gdzies kliknie mysza a i pojawia sie tylko gdy klikne na obiekt sciana :blink:

jesli byly tematy z "bardziej rozwinietymi odpowiedziami" to bardzo bym prosil o podanie linka bo takowych nie znalazlem :/

Odnośnik do komentarza
Udostępnij na innych stronach

image_angle=direction;
if global.idz=true
{
mp_potential_step(oidz.x,oidz.y,5,all)
}
else
if global.idz=false
{
speed=0;
}
if instance_number(oidz)=1
{
if x=oidz.x && y=oidz.y
{
global.idz=false;
}
}

caly kodzik z stepa hero. wiem, moze troszke przykrotki, ale dopiero zaczynam z gra :D

Odnośnik do komentarza
Udostępnij na innych stronach

@Maxpayn: uspokuj sie, w miare zrozumiale wytlumaczyl.

 

Problem moze byc w tym ze obiekt jest kasowany tuz przed wykonaniem tego kodu (tez tak mialem i nie wiem czemu gm wtedy nie dal erroru ze brak obiektu, a dal ze brak zmiennej xD )

 

Zrob tak:

zamiast tworzeniu obiektu przy kliknieciu po prostu w create daj:

movetox=x
movetoy=y

a przy kliknieciu:

movetox=mouse_x
movetoy=mouse_y

zas w step:

if(point_distance(x,y,movetox,movetoy)>5)mp_potential_step(movetox,movetoy,5,all)

Odnośnik do komentarza
Udostępnij na innych stronach

oki dzieki wszystkim :thumbsup:

PS jak zwykle udowodnilem swoja glupote :boxed:

-=klozed=-

-=olpen=-

no wiec aby nie smiecic mam problem z timelinami ;( otoz dalem se od 0 do 39 stepow i w kazdym z nich odpowiednio dir+=3 lub dir-=3 i... gostek sie kreci :blink: nie potrafie bardziej szczegolowo opisac :boxed:

z gory thx

Odnośnik do komentarza
Udostępnij na innych stronach

Może tak ?

Create:

maxAngle = 40;

_x = 0;
_y = 0;

go = false;

cAdd = 5;
cDir = 0;

Step:

if mouse_check_button_pressed( mb_left )
{
    _x = mouse_x;
    _y = mouse_y;
    go = true;
}

if ( go )
{ 
    if ( cDir > maxAngle ) || ( cDir < -maxAngle )
        cAdd *= -1;
    cDir += cAdd;
    
    image_angle = point_direction( x, y, _x, _y ) - 90 + cDir;
    
    if mp_potential_step( _x, _y, 2.5, false )
        go = false;
} 
else
{
    image_angle = point_direction( x, y, mouse_x, mouse_y ) - 90;
    
    cDir = 0;
    cAdd = 6;
}

Powinno działać ;) .

 

Zacznijmy od tego, że timelines używają mięczaki, którzy nie umieją zarządzać kodem ( chodzi o poruszanie a'la Almora ). Jest to nie tylko bezsensowny, ale i niewygodny sposób. Druga sprawa, to to, że nie trzeba sprawdzać długości linii ( x, y, movex, movey ), jeśli już używamy funkcji mp_potential_step, która zwraca nam odpowiednią wartość ;) , a jak już, to kombinując z wbudowanymi zmiennymi, jak direction, speed lub funkcjami lengthdir_x, lengthdir_y, a i tak efekt będzie nijaki.

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

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