что я могу сделать, если еще не работает в gml? - PullRequest
0 голосов
/ 25 июня 2019

Проблема в том, что если - иначе в gml, у меня есть условие if, и оно истинно, поэтому в случае else нельзя вводить, поэтому в этом случае в if и else работают, я не знаю почему. У меня есть глобальная переменная Турно. пожалуйста, проверьте код.

когда я нажимаю на изображение, оно проверяет, есть ли Turno 1, если Turno 1, так что проигрывайте аудио, иначе делайте переключение, но мой код работает как в случае if, так и в else, я не знаю почему.

ЭТО КОДЕКС ОДНОГО ОБЪЕКТА, И ЕСТЬ ОДИН ГЛОБАЛЬНЫЙ ПЕРЕМЕННЫЙ, СОЗДАННЫЙ в этом же ОБЪЕКТЕ, КАК

создается в событии create.

   Global.Turno = 1

это событие левой кнопки. объекта.

 if(global.Turno == 1){
  global.Turno = global.Turno + 1 ; //ahora toca turno dos
  global.Logros = global.Logros + 1 ; // ya paso la prueba de turno uno
   // aqui reproducir el audio MUYY BIENNN.

   if(!audio_is_playing(snd_muy_bien)){
    audio_play_sound(snd_muy_bien,100,false);
   }

 }else{

  switch(global.Turno){
   case 1: {

      if( !audio_is_playing(snd_encuentra_la_cama) ){
         audio_play_sound(snd_encuentra_la_cama,100,false);
      }

    break;  
   }
    case 2 : {

    if( !audio_is_playing(snd_encuentra_el_televisor) ){
         audio_play_sound(snd_encuentra_el_televisor,100,false);
      }

    break;
 }

 case 3 : {

    if( !audio_is_playing(snd_encuentra_el_zapato) ){
         audio_play_sound(snd_encuentra_el_zapato,100,false);
      }   

    break;
 }

 case 4 : {

   if( !audio_is_playing(snd_encuentra_el_nino) ){
         audio_play_sound(snd_encuentra_el_nino,100,false);
      }

    break;
 }

 case 5 : {

    if( !audio_is_playing(snd_encuentra_el_ropero) ){
         audio_play_sound(snd_encuentra_el_ropero,100,false);
      }

       break;
 }

 case 6 : {

    if( !audio_is_playing(snd_encuentra_el_perro) ){
         audio_play_sound(snd_encuentra_el_perro,100,false);
      }

     break;
 }

 case 7 : {

   if( !audio_is_playing(snd_encuentra_la_ventana) ){
         audio_play_sound(snd_encuentra_la_ventana,100,false);
      }

    break;
 }



 default: {
     if(!audio_is_playing(snd_ya_has_ganau_felicidades)){
    audio_play_sound(snd_ya_has_ganau_felicidades,100,false);
   }
 }
  }


 }

НЕ ОШИБКИ, ПРОБЛЕМА, ЧТО ОБА РАБОТАЕТ ЕСЛИ ИЛИ ДРУГОЙ СЛУЧАЙ. Я НЕ ЗНАЮ, ПОЧЕМУ СПАСИБО. Если вы, ребята, хотите больше кода, пожалуйста, скажите мне спасибо.

1 Ответ

0 голосов
/ 08 июля 2019

Я согласен с @YellowAfterLife, но хочу отметить, что у вас есть настройка по умолчанию в вашем случае переключения

default: {
 if(!audio_is_playing(snd_ya_has_ganau_felicidades)){
audio_play_sound(snd_ya_has_ganau_felicidades,100,false);

}

Что означает, что он будет играть музыку, несмотря ни на что. Другой причиной может быть переменная область видимости, хотя я не думаю, что это является основной причиной вашей проблемы. Вы можете проверить это, переместив переменную ++ в нижнюю строку следующим образом:

 if(global.Turno == 1){
   if(!audio_is_playing(snd_muy_bien)){
   audio_play_sound(snd_muy_bien,100,false);
   }
   global.Turno = global.Turno + 1 ; //ahora toca turno dos
   global.Logros = global.Logros + 1 ; // ya paso la prueba de turno uno
 }
...