Создание функции, которая запускает MC на основе значения, поступающего через сокет XML

#xml #flash #actionscript-3

#xml #flash #actionscript-3

Вопрос:

У меня есть значение, поступающее через SocketServer XML, оно варьируется от 0 до 1. Я хочу, чтобы он воспроизводил видеоролик при каждом его изменении. Оно будет меняться каждые 30 секунд, но, как я уже сказал, я хочу, чтобы оно выполняло действие каждый раз, когда оно изменяется с 0 на 1 и снова с 1 на 0. Я пробовал кое-что, как вы можете видеть во фрагменте ниже, но на самом деле это не сработало так хорошо. Теперь мой видеоролик появляется, когда он равен 1 (что означает на 30 секунд), затем исчезает на 30 секунд.

PS Вероятно, некоторые ошибки в скобках и т. Д. В коде Пришлось копировать / вставлять из разных мест во Flash, но это работает, за исключением того, что я хочу, чтобы произошло выше.

— Амундсен

 import swap.MC;


var xmlSocket:XMLSocket = new XMLSocket();

xmlSocket.connect("172.16.7.3", 3000);
xmlSocket.addEventListener(DataEvent.DATA, onIncomingData);


function onIncomingData(event:DataEvent):void
{   
{
var OSCPACKET:XML = new XML(event.data);
trace(OSCPACKET);

var swap;

for each (var property:XML in OSCPACKET)
{

//Switch Message
swap = property.MESSAGE.(@NAME == "switch_message").ARGUMENT.@VALUE;
trace(swap);
if(swap != laststate)
{
swapmsg.visible = true;
trace("asdasd");
swapmsg.gotoAndStop(2);
laststate = swap;
swapmsg.visible = false;
}
  

Комментарии:

1. Внутри if оператора, который вы устанавливаете swapmsg.visible в true, а затем в false, этот код выполняется одновременно, поэтому он всегда будет невидимым (false)