Deutsch

Светофор 03.02.2024

03.02.24 09:46
Светофор 03.02.2024
 
uscheswoi_82 коренной житель
uscheswoi_82

Будем программировать светофор, итак погнали.

1. Запустим SwishMax 3:


2. Создадим новые проект Datei->Neu:



3. Появится такой экран, с пустой как-бы "формой":



4. Нажмём на окружность и нарисуем её в нашей пустой форме:




5. Скопируем и добавим 3 круглижка:



6. Упорядочеем горизонтально посередине:


Получится так:



7. Назовём круглижки так:




Цвета red - #730000, yellow - #707000, green - #005C00


8. Сохраним файл:



9. Пусть будет файл называться main.swi:





10. Теперь скопируем и вставим кружочки:





11. Теперь покрасим кружочки так:



и нужно эти кружочки назвать signal_red, signal_yellow, signal_green. Цвета signal_red - #FF0000, signal_yellow - #FFFF00, signal_green - #00FF00


12. Перейдём в код:



13. Добавим в код событие onSelfEvent(load):



14. Добавим в код событие onSelfEvent(enterFrame):



Вот так выглядет:



15. Нажмём на Filmeigenschaften...:



И выберим скорость 1 фрейм/сек.:



Вот сам код:

onSelfEvent (load) {
  var int_state : Number = 0;
  _root.signal_red._visible = false;
  _root.signal_yellow._visible = false;
  _root.signal_green._visible = false;
 
  _root.signal_red._x = _root.red._x; 
  _root.signal_yellow._x = _root.yellow._x; 
  _root.signal_green._x = _root.green._x;   
     
  _root.signal_red._y = _root.red._y; 
  _root.signal_yellow._y = _root.yellow._y; 
  _root.signal_green._y = _root.green._y;   
}


onSelfEvent (enterFrame) {
   switch(int_state) {
       case 0:
          _root.signal_red._visible = false; 
          _root.signal_yellow._visible = false; 
          _root.signal_green._visible = false; 
     
          _root.red._visible = true; 
          _root.yellow._visible = true; 
          _root.green._visible = true; 
       break;
  
      case 1:
         _root.red._visible = false; 
         _root.signal_red._visible = true;       
      break;
  
  case 2:
       _root.yellow._visible = false; 
       _root.signal_yellow._visible = true;  
  break;
  case 3:
       _root.red._visible = true; 
       _root.yellow._visible = true; 
   
      _root.signal_red._visible = false; 
      _root.signal_yellow._visible = false; 


      _root.green._visible = false; 
      _root.signal_green._visible = true; 
  break;
  case 4:
      _root.green._visible = true;
      _root.signal_green._visible = false;
      int_state = 0;
  break;
  }
  int_state ++ ;
}
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
 

Перейти на