Skocz do zawartości

Kilka pytań


zalu

Rekomendowane odpowiedzi

Dzień Dobry!

1Mam obj_12 i obj_23 . Jak zrobić żeby dopiero po wykonaniu akcji z obj_12 będe mógł wykonać akcje z obj_23

2.Jak zrobić żeby bohater zatrzymywał się na końcu room'a

1. Co masz na myśli mówiąc akcję?

2. Event outside_room i:

GML
x=xprevious;

y=yprevious;

Odnośnik do komentarza
Udostępnij na innych stronach

no że jak klikne na obj_12 to pojawiają się mesegge ( z obj_23 jest tak samo )

Zrób sobie zmienną jakąś i w pierwszym objekcie w kliku sprawdzasz czy jest równa 0 i jeśli tak to robisz co trza i zmieniasz na 1, a w drugim się pytasz czy jest równa 1 i znowu jakaś akcja(i tak można do nieskonczoności robić).

EDIT: Jednak nie do nieskończoności. Ograniczenie to pojemność integera ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Ograniczenie to pojemność integera ;-)

Praktycznie to w nieskończoność :P A co się stanie na max zmiennej? Wywali błąd? Bo mnie się wydaje, że po prostu nie doda....

 

Nie wiem do kończ o co ci chodzi, ale chyba tak:

 

obj_13 OnClick:

GML
if(global.zmienna == 0)

{

global.zmienna += 1;

show_message("Właśnie kliknąłeś na obj_13. Teraz możesz klikać już tylko na obj_23.");

}

else

{

show_message("Już kliknąłeś raz na obj_13! Teraz możesz tylko na 23!!!");

}

 

I podobnie z obj_23, tylko że w nim sprawdzasz, czy global.zmienna jest większa od zera... ale chyba nie o to ci chodzi.....

Odnośnik do komentarza
Udostępnij na innych stronach

Nie ma takiego uniwersalnego, musisz zrobic jak powiedzial Dawidds:

Przy akcji (tej ktora chcesz zeby byla wykonana zeby moc klikac na obj_23) musisz zmieniac wartosc jakiejs zmiennej np. wykonal = 1

I przy klikaniu na obj_23 robisz:

GML
if obj_12.wykonal = 1 then {

// blablabla

}

Odnośnik do komentarza
Udostępnij na innych stronach

O robieniu co trza miałem na myśli dowolną akcję, którą ty chcesz zrobić. ;)

obj_12 mouse(left lub right lub mid) pressed:

GML
if zrobione=0

{zrobione=1;

//i tutaj robisz co trza(co chca)

};

obj_23 mouse(left right mid) pressed:

GML
if obj_12.zrobione=1

{obj_12.zrobione=2; //ale tylko gdy chcesz żeby po jednym kliknięciu obj_23 też się uodpornił na kliki

//a tutaj to już co trza versja 2

};

Chyba standardowa pojemność zmiennej liczbowej gma to 2^16(czyli 65536), ale jakoś(może nawet bez dll'i) da się pewnie zwiększyć do np. 2^32(ileśtam miliardów).

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Praktycznie to w nieskończoność :P A co się stanie na max zmiennej? Wywali błąd? Bo mnie się wydaje, że po prostu nie doda....

 

 

Ja doszedłem do liczby 9 222 224 696 471 191 522 dodając w każdym stepie 111 111 111 111 111 111, potem zaczęło pokazywać już jako potęgi: 9.333335019E18 - zatem maksymalna liczba jest mniejsza od 9.3*(10^18), potem już tylko zaokrąglenia dostaniemy.

Ale i tak dużooo :P

 

p.s. jak ktoś nie wie co to 9.3*(10^18) to jest to inaczej 9.3 razy 10 do osiemnastej.

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