Musisz jeszcze dopisać warunek na wyłącznie muzyczki jak postać zejdzie z parkietu:
GML
if place_meeting(x,y,oParkiet)
{
//jak wyzej
}
else if(sound_isplaying(sndParkiet))
sound_stop(sndParkiet)
Sam HUD, czy żeby wszystko się przesuwało jak gracz biegnie? Jak to pierwsze to musisz uzależnić zmienne x i y HUD'a od współrzędnych graczy:
GML
x=o_gracz.x+10;
y=o_gracz.y+10;
Jak to drugie to wpisz w szukaj ruchomy view. Na pewno coś znajdziesz.
Wszystkie wartości dodatnie (bez zera) są true, a cała reszta są false. Przykład:
GML
if(moze)
if(moze==true)
//wszystkie powyższe funkcję sprawdzają czy wartość może jest true
if(!moze)
if(moze==false)
//spradzają czy zmienna może jest false</span>
Wywal pierwszy warunek z if, jak chcesz w event collision. Jest zbędny.
Jak po jednym, to możesz odwoływać się do obiektów po przez ich nazwy:
GML (step pierwszego)
if(place_meeting(x,y,obj_drugi)&&obj_drugi.atak&&nic)
{
zycie-=1;
instance_create(x,y,blukrew)
}
Jak w stepie to może tak:
GML
if(collision_())
{
var a;
a=collision_();// zmienna a= id obiektu z którym jest kolizja
if(a.zmienna)
//akcja
}
collision_() jakaś funkcja collision (np collision_rectangle). Dobierasz parametry i jest git. Pamiętaj tylko żeby funckje te w obydwu miejscach miały identyczne parametry. W przeciwnym razie może wyskoczyć błąd.
Albo jeszcze krócej:
GML
if(collision_())
{
if(collision_().zmienna)
//akcja
}
GML
sound_isplaying(index)
/*
Returns whether (a copy of) the indicated sound is playing.
Note that this functions returns true when the sound actually plays through the speakers.
After you call the function to play a sound it does not immediately reach the speakers so the function might still return false for a while.
Similar, when the sound is stopped you still hear it for a while (e.g. because of echo) and the function will still return true.</span>
Proszę.
1. Zastosuj zmienne globalne.
2. Skorzystaj z persistent obiektu.
3. Zapisuj zmienną do pliku ini albo txt, a następnie w roomie tabela odczytaj ją z pliku.
Jest wiele możliwości, wybór należy do Ciebie.
Wrzucanie kodu z exit po kodzie na strzelanie nie ma żadnego sensu. Akcja strzelanie zawsze będzie wykonywana nie zależnie od wartości moc. Zmień kolejność tych kodów, albo dopisz do warunku na strzelanie:
GML
if(can==1&&moc)