Skocz do zawartości

[GMS] Wróg chodzi w jedna strone i nie obraca sie


Cygnus

Rekomendowane odpowiedzi

Ok stworze obiekt maska i sprite to mam mu dać swojego bohatera? czyli obj_player w masce i sprite?

Nie. Chcesz miec obiekt, ktory przeniesie cie do innej mapy, jesli na niego wejdziesz. To znaczy, ze musisz ustawic mu pewna maske w ksztalcie prostokata, ten prostokat bedzie strefa, ktora przeniesie gracza stojacego na niej. Mozesz mu dac sprite w ksztalcie prostokata, bedzie lepiej widac, gdzie ta strefa sie znajduje w edytorze, ale odznacz zakladke 'visible' w obiekcie strefa

Ta zmienna globalna dokładnie,rozumiem,że ma być w tym obiekcie co stworze do przenoszenia się do innego roomu,ale co mam tam dokładnie ;)

Tez nie. Zmienna globalna raz stworzona nigdy nie ginie, czyli wystarczy stworzyc ja raz, na poczatku gry (np. w evencie Create bohatera). Podczas przenoszenia sie do innego roomu nadaj tej zmiennej wartosc aktualnego roomu (czyli doslownie 'global.prevRoom = room) ZANIM przeniesiesz sie do kolejnego roomu.

Odnośnik do komentarza
Udostępnij na innych stronach

Zrobiłem inaczej,bo coś mi nie wychodzi.

W obj_player w events w Outside Room dałem klocki:

 

if next room exists

go to next room

 

Teraz przechodzę do następnego roomu,ale nie mogę się już cofnąć do poprzedniego:/

 

 

A powiedz mi co mam zrobić żeby mój obj_player skakał na wszystkich obiektach,a nie tylko na obj_Collision.

Ten problem mam taki,że tylko na obj_Collision on skacze,a na innych już obiektach na jakich się znajdzie,to skoku nie mogę wykonać,poruszać się mogę,ale skoczyć już nie:/

 

Kod obj_player

 

CREATE

 

 

start_x = x;

start_y = y;

 

phy_fixed_rotation = true;

 

move_speed = 200;

max_xspeed = 2;

jumping = false;

jump_force = -110;

 

STEP

 

 

phy_speed_x = max(min(phy_speed_x, max_xspeed) , -max_xspeed);

 

if(phy_speed_x > 0.1 || phy_speed_x < -0.1) {

sprite_index = spr_Player_Running;

 

} else{

sprite_index = sprPlayer;

 

}

if (phy_speed_y > 1.2) {

sprite_index = spr_Player_Falling;

}

 

 

image_speed = phy_speed_x / 10;

 

background_x[0] = -phy_position_x / 5;

background_x[0] = -phy_position_y / 5;

 

 

background_x[1] = -phy_position_x / 5;

background_x[1] = -phy_position_y / 5;

 

 

PRESS(up)

 

FIRST JUMP

 

///First Jump

if (place_meeting(x,y+1, obj_Collision))

 

{

jumping = true;

alarm [0] = 1;

physics_apply_impulse(x,y,0, jump_force);

show_debug_message("First Jump")

}

 

Secound Jump

/// Secound Jump

if(jumping && alarm[0] < 0){

 

 

 

physics_apply_impulse(x,y,0, jump_force);

jumping = false;

show_debug_message("Double Jump")

}

Odnośnik do komentarza
Udostępnij na innych stronach

Nie mozemy zrobic za ciebie calej gry. Pomoc w jednej, dwoch rzeczach, jasne, ale nie w praktycznie wszystkim. Przeszukaj forum, wiele wczesniejszych tematow traktowalo o strzelaniu w takiej czy innej formie. Przeczytaj tez FAQ, mozna tam znalezc odpowiedzi na podstawowe pytania dotyczace mechaniki gry.

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