Skocz do zawartości

Menu i te sprawy...


Rekomendowane odpowiedzi

Siemka,

tym razem problem tkwi w menu. Chcę, aby op naciśnięciu klawisza Shift ukazał się obj_menu, a po ponownym naciśnięciu klawisza Shift obiekt ten zniknął...

 

Pierwszą częśc, tj. pojawienie się menu zrobiłem, lecz nie wiem jak wykonać tą drugą...

 

HELP :weight_lift:

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if keyboard_check(vk_shift)

{

if wcisniety=0;

{

instance_create(x,y,obj_menu);

wcisniety=1;

}

else

{

instance_deactivate_object(obj_menu);

wcisniety=0;

}

}

Nie jestem pewien czy działa.

O.o powyższego postu nie było.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie, odnosi się do rysowania obiektu.

 

Po za tym:

GML
if( keyboard_check_pressed( vk_shift ) ) {

if( instance_exists( menu ) ) {

with( menu ) {

instance_destroy();

}

}

else {

instance_create( 0, 0, menu );

}

}

Jeśli potrzebujecie aż niszczenia i tworzenia obiektu do zrobienia głupiego menu. :P
Odnośnik do komentarza
Udostępnij na innych stronach

Udowodnię, że Tymon zawsze podaje najlepsze rozwiązanie :P

GML
//step obj_menu:

if( keyboard_check_pressed( vk_shift ) ) visible = !visible

 

// step obiektów blokowanych:

if ( obj_menu.visible ) exit // to musi się znajdować w pierwszym wersie eventu!

/* dalsza część kodu =P */

z tym, że obiekt cały czas(od początku) musi być umieszczony w roomie ;p

Odnośnik do komentarza
Udostępnij na innych stronach

Tylko, że chodzenie mam zrobione tym sposobem... :P:

 

GML
if (keyboard_check(vk_left))

{

if (pocz=4) && (image_xscale=-1) && (place_free(x-32,y))

mx -= 32;

pocz = 4;

kon = 7;

image_xscale = -1;

if (image_index<pocz) || (image_index>kon+1-szybkosc)

image_index = pocz;

}

else

if (keyboard_check(vk_right))

{

if (pocz=4) && (image_xscale=1) && (place_free(x+32,y))

mx += 32;

pocz = 4;

kon = 7;

image_xscale = 1;

if (image_index<pocz) || (image_index>kon+1-szybkosc)

image_index = pocz;

}

else

if (keyboard_check(vk_up))

{

if (pocz=8) && (place_free(x,y-32))

my -= 32;

pocz = 8;

kon = 11;

image_xscale = 1;

if (image_index<pocz) || (image_index>kon+1-szybkosc)

image_index = pocz;

}

else

if (keyboard_check(vk_down))

{

if (pocz=0) && (place_free(x,y+32))

my += 32;

pocz = 0;

kon = 3;

image_xscale = 1;

if (image_index<pocz) || (image_index>kon+1-szybkosc)

image_index = pocz;

}

}

if (mx<x) // jesli mx jest na lewo od x

hspeed = -4;

else

if (mx>x) // jesli mx jest na prawo od x

hspeed = 4;

else

if (my<y) // jesli my jest wyzej od y

vspeed = -4;

else

if (my>y) // jesli my jest nizej od y

vspeed = 4;

 

depth = -y;

Odnośnik do komentarza
Udostępnij na innych stronach

No myślisz, że nie próbowałem???

 

Daje nowy skrypt i piszę w nim:

GML
if ( obj_menu.visible ) exit

if (keyboard_check(vk_left))

{

if (pocz=4) && (image_xscale=-1) && (place_free(x-32,y))

mx -= 32;

....

if (mx>x) // jesli mx jest na prawo od x

hspeed = 4;

else

if (my<y) // jesli my jest wyzej od y

vspeed = -4;

else

if (my>y) // jesli my jest nizej od y

vspeed = 4;

 

depth = -y;

 

Wtedy wyskakuje, że nieznana zmienna visible...

Odnośnik do komentarza
Udostępnij na innych stronach

Create:

GML
szift = 0;

Step:

GML
if (keyboard_check_pressed(vk_shift)) then szift+=1;

if szift > 1 then szift = 0;

if szift = 0 then visible = false;

if szift = 1 then visible = true;

 

EDIT:

I tak jak mówi nobody odznacz visible lub w create napisz visible = false

Odnośnik do komentarza
Udostępnij na innych stronach

To tak:

$%$ Menu już mam zrobione, tzn. włącza się i wyłącza też...

 

Tylko jest jeszcze ten problem z blokowaniem ruchu gracza. Bo sytuacja jest taka, że ja użyłem przykładu, w którym do chodzenia odnoszą się 3 eventy:

-Create

-Step

-End Step

 

???

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ę...