a
gracz 2 wychodzi z czogłu ale tego nie widzisz bo w tej samej klatce gry od razu z powrotem do nie go wchodzi. Dzieje się tak dlatego że 2 gracz pojawia się na złej pozycji, pojawia się na czołgu wobec czego kolizja z nim nadal trwa a że dzieje się to w tej samej klatce gry w której została naciśnięta spacja warunek w evencie klizji z czołgiem
GML
if keyboard_check(vk_space)
{
instance_destroy()
global.incar2 = true
view_object[1] = o_tank2
}
zostaje spełniony.
No to masz 2 opcje jak to rozwiązać.
1. Zaraz po wykonaniu wyjścia z czołgu wyczyścić klawisz spacji ( i entera na wszelki wypadek ) używając funkcji keyboard_clear();
GML
// If the player is in the car,
if global.incar2=true
{
if place_empty(x-24,y-24) // and the place next to the car is empty,
{
if speed<1 // and the car moves slow enough,
{
instance_create(x-24,y-24,o_anti) // Create obj_player at the place
global.incar2=false // Player is no longer in car
view_object[1] = o_anti // Change the view object to the player
keyboard_clear(vk_space)
}
}
}
lub
2. Zmienić graczowi 2 pozycję wychodzenia. ( w tym wypadku winowajcą jest sam sprit, niebieski czołg ma inny origin niż zielony, zielony poza czołgiem z niebieski w środku niego )
b użyć jednego obiektu gracza, w evencie create możesz stworzyć zmienną która będzie ich między sobą rozróżniała. To samo możesz zrobić dla jakiego kolwiek pojazdu. Może zaraz to edytuję i ci pokaże jak to wszystko pozwijać.