Skocz do zawartości

dźwignia,która otwiera konkretne drzwi,przeszkodę


Cygnus

Rekomendowane odpowiedzi

Witam wszystkich

 

Mam dźwignie i chcę żeby ona po przełączeniu wajchy otwierała konkretne drzwi.

co trzeba zrobić?

 

znalazłem co prawda gotowy kod do tej dźwigni działa przełącznik,ale co teraz dalej zrobić,żeby ona w momencie przełączenia jej otwierała konkretne,drzwi,przeszkodę?

 

tutaj kod dźwigni

 

CREATE

 

GML
///ustawienia

event_inherited();

image_speed = 0;

add = -1;

pulse = false;

 

STEP

 

GML
///Przelacznik aktywacja

if pulse == true {

state = defaultState;

}

 

if place_meeting(x,y,par_player) && keyboard_check_pressed(kUp) && (image_index == 0 || image_index == image_number-1) {

state = !state;

add *= -1;

 

instance_deactivate_object(earth_quake);

 

}

 

STEP

 

GML
///Obraz sprit'a po uaktywnieniu dzwigni

if add == 1 && image_index < image_number-1 {

image_index += 1;

} else if add == -1 && image_index > 0 {

image_index -= 1;

}

Odnośnik do komentarza
Udostępnij na innych stronach

/ten kod ogółem trochę jest dziwny i prościej moim zdaniem dałoby radę to zrobić ;)

Też się zgadzam, gdy ja robiłem taką funkcję w grze zrobiłem mniej więcej tak.

Zabindowałem pod jakiś przycisk "global.use"

W stepie dźwigni

if global.use =1;

(

global.dzwignia = 1;

)

w stepie drzwi

if global.dzwignia = 1

(

image_index = 1;// albo jeśli drzwi mają się otwierać już na zawsze możesz dać instance_destroy :) //

)

Odnośnik do komentarza
Udostępnij na innych stronach

Arathar no dobra;)

 

tylko teraz w którym STEPIE dźwigni mam to wpisać? bo wpisałem w tym drugim STEPIE wykasowałem to co jest tu if add it...

 

wpisałem to co napisałeś,no i sa błędy niestety;) nie działa tak;)

 

 

Chodzi o to,żeby to tak zadziałało,że jak przełączę wajchę dźwigni,to dana przeszkoda,drzwi,żeby zniknęły.

Odnośnik do komentarza
Udostępnij na innych stronach

identycznie nie przepisałem;) bo normalne,że błędy są jak się używa zwykłych nawiasów;)

Masz konkretne rozwiązanie tego;)?

Ja swoje napisałem,ale mam problem właśnie z tym,że po przełączeniu wajchy chcę żeby dana przeszkoda zniknęła..

Odnośnik do komentarza
Udostępnij na innych stronach

Ruchomą dźwignię zrobisz najprościej na dwa sposoby:

a)Obrazek, przy przełączeniu zmieniasz image_speed do końca.

b)Image_angle zmieniasz, ale to nie do końca będzie fantastycznie działało.

 

Zrób coś w tym stylu, że podchodzisz, w kolizji z graczem u dźwigni sprawdzasz, czy może się przełączyć, jeśli tak dajesz image_speed>0, gdy animacja dojdzie do końca ustawiasz na 0 i zmieniasz np global.przeszkoda[1]=0.

 

I w tej przeszkodzie dajesz se taki kod:

GML
if global.przeszkoda[1]=0 instance_destroy();
Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Można przypisać przeszkodę w instance creation code w room editorze, na konkretnej instancji :) Taki kod wykonuje się zaraz po create, więc można zrobić np. w create:

 

GML
obj_do_niszczenia= 0;

 

w instance creation code:

 

GML
obj_do_niszczenia = <ID albo nazwa stałej z room editora (widoczna na dole w pasku po najechaniu);

 

i potem w evencie gdzie niszczymy przeszkodę/przestawiamy wajchę:

 

GML
if (obj_do_zniszczenia > 0 and instance_exists(obj_do_zniszczenia)) {

with (obj_do_zniszczenia{ /* akcje */ }

}

Odnośnik do komentarza
Udostępnij na innych stronach

Czyli tak tworzę sobie np obj_do_niszczenia jakąś tam przeszkodę w niej w Create daje:

 

GML
obj_do_niszczenia= 0;

 

 

potem instance code w roomie w tym samym obiekcie dałem ten kod co napisałeś

 

GML
obj_do_niszczenia = <ID inst_08C4257E

 

 

Tylko pogubiłem się w jakim evencie mam dać ten kod?

czy to ma być kolizja z graczem,czy jak z dźwignią? co dokładnie?

 

GML
if (obj_do_zniszczenia > 0 and instance_exists(obj_do_zniszczenia)) {

with (obj_do_zniszczenia{ /* akcje */ }

}

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