Skocz do zawartości

variable_global_exists


Rekomendowane odpowiedzi

Cześć wszystkim

 

powiedzcie mi jakiej innej funkcji użyć bo variable_global_exists nie działa w game maker studio

 

 

creater

 

GML
kursor=0;

 

if !variable_global_exists('gamepad_mode')

{

global.gamepad_mode=false; //gamepad jest wylaczony

global.gamepad_a=5; //klawisz A

global.gamepad_d=6; //klawisz D

global.gamepad_space=3; //klawisz Spacja

}

Odnośnik do komentarza
Udostępnij na innych stronach

Wykorzystaj do tegp np plik ini. Gdy gracz będzie przełączał pomiędzy klawiaturą a padem to to zapisuj, a przy odpaleniu gry sprawdź, jaka wersja jest wybrana ;)

Twoja metoda nic nie da, bo i tak za każdym wejściem do gry globalne są usuwane.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Wykorzystaj do tegp np plik ini. Gdy gracz będzie przełączał pomiędzy klawiaturą a padem to to zapisuj, a przy odpaleniu gry sprawdź, jaka wersja jest wybrana ;)

Twoja metoda nic nie da, bo i tak za każdym wejściem do gry globalne są usuwane.

 

 

 

Dzięki ,czyli zapis do ini;) coś jak save;) ok

 

no dobra moja metoda lipna

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki ,czyli zapis do ini;) coś jak save;) ok

 

no dobra moja metoda lipna

 

Ok z ini sobie poradzę,ale powiedzcie mi...bo w gm 8.1 działa idealnie ten przykład od gnyska natomiast już w studio próbuje zamiast variable_global_exists('gamepad_mode') przypisać zmienną gamepad_mode

tylko muszę źle to robić,bo kiedy podpiąłem gamepad..zmienia mi przyciski,ale to nic nie daje,bo jak już zaczynam grać,to gamepad nie reaguje...

a w gm 8.1 działa kod idealnie.i gamepad też ładnie działa..

 

tutaj cały kod gamepada

 

w create obj_menu

 

GML
kursor=0;

 

if !variable_global_exists('gamepad_mode')

{

global.gamepad_mode=false; //tutaj gamepad wylaczony

global.gamepad_a=5; //przycisk A

global.gamepad_d=6; //przycisk D

global.gamepad_space=3; //przycisk Spacja

//zywamy domyslnych z pada czyli x-axis,strzalek nie definiujemy

}

 

 

draw

 

 

GML
draw_set_color(c_white);

draw_set_alpha(0.3);

draw_rectangle(20,100+(kursor*30),200,120+(kursor*30),false);

 

draw_set_color(c_black);

draw_set_alpha(1);

draw_text(20,100,'>> Graj');

draw_line(20,100,200,100);

draw_line(20,120,200,120);

draw_text(20,130,'>> Konfiguruj Pada');

draw_line(20,130,200,130);

draw_line(20,150,200,150);

 

draw_sprite(spr_gamepad,global.gamepad_mode,20,20);

 

if global.gamepad_mode==false

{

draw_set_color(c_blue);

draw_set_alpha(1);

 

draw_text(80,28,'Pad nieaktywny');

}

 

 

press ENTER

 

GML
if kursor=0

{

instance_create(0,0,obj_pad_sim); // Symulujemy nacisniecie klawiszy

room_goto_next();

}

else

{

instance_create(0,0,obj_pad_cfg);

instance_destroy();

}

 

 

press UP

 

GML
kursor=!kursor;

 

 

press DOWN

 

GML
kursor=!kursor;

 

 

 

obj_pad_sim z zaznaczonym persistent

 

create

 

GML
// Zaznaczamy PERSISTENT

 

 

//ustawiamy,ze na razie zaden klawisz nie jest wcisniety

is_a=false;

is_d=false;

is_space=false;

 

is_up=false;

is_down=false;

is_left=false;

is_right=false;

 

 

step

 

GML
if global.gamepad_mode=true

{

//A

if joystick_check_button(1,global.gamepad_a)

{

is_a=true;

keyboard_key_press(ord('A'));

}

else if is_a=true

{

is_a=false;

keyboard_key_release(ord('A'));

}

//D

if joystick_check_button(1,global.gamepad_d)

{

is_d=true;

keyboard_key_press(ord('D'));

}

else if is_d=true

{

is_d=false;

keyboard_key_release(ord('D'));

}

//SPACJA

if joystick_check_button(1,global.gamepad_space)

{

is_space=true;

keyboard_key_press(vk_space);

}

else if is_space=true

{

is_space=false;

keyboard_key_release(vk_space);

}

//up

if joystick_direction(1)==vk_numpad8

{

is_up=true;

keyboard_key_press(vk_up);

}

else if is_up=true

and joystick_direction(1)<>vk_numpad7

and joystick_direction(1)<>vk_numpad9

{

is_up=false;

keyboard_key_release(vk_up);

}

//down

if joystick_direction(1)==vk_numpad2

{

is_down=true;

keyboard_key_press(vk_down);

}

else if is_down=true

and joystick_direction(1)<>vk_numpad1

and joystick_direction(1)<>vk_numpad3

{

is_down=false;

keyboard_key_release(vk_down);

}

//left

if joystick_direction(1)==vk_numpad4

{

is_left=true;

keyboard_key_press(vk_left);

}

else if is_left=true

and joystick_direction(1)<>vk_numpad7

and joystick_direction(1)<>vk_numpad1

{

is_left=false;

keyboard_key_release(vk_left);

}

//right

if joystick_direction(1)==vk_numpad6

{

is_right=true;

keyboard_key_press(vk_right);

}

else if is_right=true

and joystick_direction(1)<>vk_numpad9

and joystick_direction(1)<>vk_numpad3

{

is_right=false;

keyboard_key_release(vk_right);

}

//8 axis

}

 

 

draw

 

GML
draw_sprite_ext(spr_gamepad,0,0,0,1,1, direction,c_white,0.2);

 

 

 

tam jeszcze jest jeden obiekt,ale on nie ma takiego już znaczenia jak te tu wyżej...

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, tak jest.

I poza tym:

 

GML
if !variable_global_exists('gamepad_mode')

{

global.gamepad_mode=false; //tutaj gamepad wylaczony

global.gamepad_a=5; //przycisk A

global.gamepad_d=6; //przycisk D

global.gamepad_space=3; //przycisk Spacja

//zywamy domyslnych z pada czyli x-axis,strzalek nie definiujemy

}

 

Miałeś to zrobić na ini, a nie znów ta funkcja, ona jest taka...bezużyteczna? :/

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