Game Maker & Chill #2 – zaczyna wyglądać jak gra

Ostatnio pozmieniałem trochę kod, niektóre dragendropy były zbyt syfiaste aby je zostawić. Wstawiłem w ich miejsce GML-owe skrypty które też są syfiaste. Tak jak ten, który jest umieszczony w step evencie gracza

/*if(distance_to_object(instance_nearest(x,y,obj_Mine)==64) &&mine_detected==false){
    show_message("MINA ");
    mine_detected=true;
}*/
/*if((
    instance_nearest(x,y,obj_Mine).y-y>=-64&&instance_nearest(x,y,obj_Mine).x-x>=-64)&&!mine_detected){
    show_message("Mina "+string(instance_nearest(x,y,obj_Mine).y)+","+string(instance_nearest(x,y,obj_Mine).x)+"\n"+
    "Gracz "+string(x)+","+string(y)
    );
    mine_detected=true;
    }
*/
//mine detected message
if((instance_nearest(x,y,obj_Mine).y-y>=-128&&instance_nearest(x,y,obj_Mine).y-y<=128)&&instance_nearest(x,y,obj_Mine).armed==true)     close_mine_y=true; else     close_mine_y=false; if((instance_nearest(x,y,obj_Mine).x-x>=-128&&instance_nearest(x,y,obj_Mine).x-x<=128)&&instance_nearest(x,y,obj_Mine).armed==true)     close_mine_x=true; else     close_mine_x=false; //mine danger message if((instance_nearest(x,y,obj_Mine).y-y>=-64&&instance_nearest(x,y,obj_Mine).y-y<=64)&&instance_nearest(x,y,obj_Mine).armed==true)     near_mine_y=true; else     near_mine_y=false; if((instance_nearest(x,y,obj_Mine).x-x>=-64&&instance_nearest(x,y,obj_Mine).x-x<=64)&&instance_nearest(x,y,obj_Mine).armed==true)
    near_mine_x=true;
else
    near_mine_x=false;

//*****************************************************************************

if(close_mine_x&&close_mine_y&&mine_detected==false){//temporary code for mine detection
  /*  show_message("Mina "+string(instance_nearest(x,y,obj_Mine).x)+","+string(instance_nearest(x,y,obj_Mine).y)+"#"+
    "Gracz "+string(x)+","+string(y)+"#"+"Dystans: "+string(instance_nearest(x,y,obj_Mine).x-x)+","+string(instance_nearest(x,y,obj_Mine).y-y)
    );  */
   // audio_stop_sound(snd_BeepingNormal);
    //audio_play_sound(snd_BeepingFaster,1,true);
    mine_detected=true;
    }
else if(!close_mine_x||!close_mine_y&&mine_detected==true){
    mine_detected=false;
    //audio_stop_sound(snd_BeepingFaster);
    //audio_play_sound(snd_BeepingNormal,1,true);
    }

if(near_mine_x&&near_mine_y&&mine_danger=false){//temporary code for mine danger
  /*  show_message("UWAGA MINA: "+string(instance_nearest(x,y,obj_Mine).x)+","+string(instance_nearest(x,y,obj_Mine).y)+"#"+
    "Gracz "+string(x)+","+string(y)+"#"+"Dystans: "+string(instance_nearest(x,y,obj_Mine).x-x)+","+string(instance_nearest(x,y,obj_Mine).y-y)
    );*/
    //audio_stop_sound(snd_BeepingFaster);
   //audio_play_sound(snd_BeepingDanger,1,true);
    mine_danger=true;
    }
else if(!near_mine_x||!near_mine_y&&mine_danger==true&&close_mine_x&&close_mine_y){
    mine_danger=false;
    //audio_stop_sound(snd_BeepingDanger);
    //audio_play_sound(snd_BeepingNormal,0,false);
    }

Jak pewnie się domyślacie, zaczynam coś działać z dźwiękami wykrywacza. Faktycznie ale wkradł mi się pierwszy poważny bug. Ponieważ wszystkie akcje kontrolujące dźwięk są umieszczane w Step Evencie, który jest odpowiednikiem funkcji Update z Unity, dany dźwięk był odtwarzany 64 razy na sekundę. Nie o to mi chodziło…

Więc naprawa tego problemu trafia do TODO. Z sukcesów, udało mi się znaleźć tymczasowe tło (jest bardzo przyjemne). Ponadto zrobiłem niewidzialne miny, bo takie właśnie powinny być.

To tyle na dziś.

 

PS. Pojawiła się strona O mnie na której możecie przeczytać o mnie i o pewnym fajnym czelendżu w którym biorę udział i mam szanse wygrać takie fajne krzesło.

Reklamy
Game Maker & Chill #2 – zaczyna wyglądać jak gra

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s