IF IFment для переменных в Action Script 3.0 - PullRequest
0 голосов
/ 27 марта 2012

Я создаю инструмент типа образца пэда для проекта, у меня есть четыре канала для четырех разных инструментов, интерфейс имеет четыре кнопки для выбора инструмента, когда кнопка выбрана, изображение должно быть зеленым, но когда выбран другой инструмент, оно должноперейдите ко второму кадру фрагмента ролика, который представляет собой красную кнопку, сигнализирующую о том, что инструмент выключен.

Строка 23 Я добавил условную статистику для переменной, связанной с каналами, в которой нет ошибок, но также нетизменить изображение, когда я нажимаю другую кнопку, кто-нибудь знает, где я иду не так

//import flash stuff

import flash.events.MouseEvent;
import flash.display.MovieClip;

stop();

//event listener for the power button

poweroff.addEventListener(MouseEvent.CLICK, mouseClick1);

function mouseClick1(event:MouseEvent):void{
gotoAndStop(1);
}

//select which samples to use with event listener,
//changes var selector bellow, so input listens for
//different samples

drumSelector.addEventListener(MouseEvent.CLICK, drumClick);
function drumClick(event:MouseEvent):void{
selector = drums;
if (selector == drums) 
{
drumSelector.gotoAndStop(1);
}else{
drumSelector.gotoAndStop(2);
}

}

bassSelector.addEventListener(MouseEvent.CLICK, bassClick);
function bassClick(event:MouseEvent):void{
selector = bass;
}

synthSelector.addEventListener(MouseEvent.CLICK, synthClick);
function synthClick(event:MouseEvent):void{
selector = synth;
}

beatSelector.addEventListener(MouseEvent.CLICK, beatClick);
function beatClick(event:MouseEvent):void{
selector = beat;
}

//selects which movieclip samples to use for input

var selector:MovieClip = drums;


//listen for events on display keyboard
//make movieclips visible so they can play samples

key1.addEventListener(MouseEvent.CLICK, key1Click);
function key1Click(evt:MouseEvent):void
{
selector.i1.visible=true;
}

key2.addEventListener(MouseEvent.CLICK, key2Click);
function key2Click(evt:MouseEvent):void
{
selector.i2.visible=true;
}

key3.addEventListener(MouseEvent.CLICK, key3Click);
function key3Click(evt:MouseEvent):void
{
selector.i3.visible=true;
}

key4.addEventListener(MouseEvent.CLICK, key4Click);
function key4Click(evt:MouseEvent):void
{
selector.i4.visible=true;
}

Ответы [ 2 ]

0 голосов
/ 28 марта 2012

Создать новую функцию для условного типа:

function updateSelector(){

  if (selector == drums) 
  {
      drumSelector.gotoAndStop(1);
  }else{
      drumSelector.gotoAndStop(2);
  }
}

Затем в каждом обработчике кнопок:

bassSelector.addEventListener(MouseEvent.CLICK, bassClick);

function bassClick(event:MouseEvent):void{
    selector = bass;
    updateSelector();
}
0 голосов
/ 28 марта 2012

В настоящее время ваше условие выполняется только при нажатии кнопки drumSelector, поскольку оно находится внутри обработчика щелчка drumSelector.Вы должны переместить ваше условие в отдельную функцию и вызвать его из обработчика щелчка каждой из четырех кнопок, управляющих инструментами.

...