Skocz do zawartości

Aby postać nie wychodziła za room


Jeremiah

Rekomendowane odpowiedzi

to zalezy, jak masz zrobione poruszanie sie tego obiektu. Jezeli masz zrobione direction=x speed=x to wystarczy wpisac tam speed=0, ale jezeli masz porusznaie sie zrobionie np. x-=5, to wtedy tak nie zadziala. Nalezy wtedy wpisac np. x=10 albo x=xprevious(nie zawsze dziala jak nalezy) lub w ruchu obiektu dac zamiast np. x-=5 tylko x=max(x-5,10) zeby obiekt nie mogl miec x ponizej 10

Odnośnik do komentarza
Udostępnij na innych stronach

Napiszę Ci ten skrypt:

if keyboard_check(vk_up)
{
sprite_index=ruch_up
x=x+0
y=y-2
image_speed=1
}
if keyboard_check_released(vk_up)
{
image_speed=0
}
if keyboard_check(vk_down)
{
sprite_index=ruch_down
x=x+0
y=y+2
image_speed=1
}
if keyboard_check_released(vk_down)
{
image_speed=0
}
if keyboard_check(vk_right)
{
sprite_index=ruch_right
x=x+2
y=y+0
image_speed=1
}
if keyboard_check_released(vk_right)
{
image_speed=0
}
if keyboard_check(vk_left)
{
sprite_index=ruch_left
x=x-2
y=y+0
image_speed=1
}
if keyboard_check_released(vk_left)
{
image_speed=0
}
if keyboard_check(vk_up)&keyboard_check(vk_left)
{
sprite_index=ruch_up_left
}
if keyboard_check(vk_up)&keyboard_check(vk_right)
{
sprite_index=ruch_up_right
}
if keyboard_check(vk_down)&keyboard_check(vk_left)
{
sprite_index=ruch_down_left
}
if keyboard_check(vk_down)&keyboard_check(vk_right)
{
sprite_index=ruch_down_right
}

trochę tego jest :D Potem mam jeszcze jeden, ten który pokazałem wcześniej.

 

Używaj tagów CODE.

//Tymon

Edytowane przez Tymon
Odnośnik do komentarza
Udostępnij na innych stronach

Zawsze żeby mi postać wychodzi poza room, to daję ściankę o szerokości 1 i dowolnej wysokości, zaraz przy krawędzi rooma (przy dolnej ścianie i górnej jest wysokość 1, a szerokość dowolna, co można się chyba domyślić). Metoda prosta, aczkolwiek, przy większych roomach może się zacinać trochę.

Odnośnik do komentarza
Udostępnij na innych stronach

@marmot Tez kiedys tak robilem, ale to nie wydajne ;p

 

Zamien y=y-2 na y=max(y-2,0) oznacza to ze y przybierze wartosc wiekszej liczby: y-2(przyszla pozycja obiektu) lub 0 czyli krawedz roomu. Analogicznie zrob do reszty.

 

PS. zamiast y=y-2 mozna pisac szybciej y-=2

PS2. po co jest to x=x+0 skoro to nic nie robi :blink: czyste marnotractwo

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