2013-08-21 6 views
1

Мне действительно нужен какой-то скрипт AS3 для запуска некоторой функции, когда я оставляю specfic-фрейм.Функция запуска Flash AS3 после кадра Exit

моя причина - поставить некоторые функции, чтобы остановить видео и возобновить звук mp3-плеера ПОСЛЕ того, как я выхожу из фрейма, содержащего FLV-воспроизведение.


Я использую этот скрипт, и он отлично работает во FLASH-проекторе, но stage.invalidate(); потому что сторонний разработчик приложений, такой как Swfkit и Zinc, не отвечает после того, как я попытаюсь выйти из рамки воспроизведения FLV.

Вот мой скрипт:

stage.invalidate(); 

mene.addEventListener(Event.RENDER,exitingF); 
mene.addEventListener(Event.REMOVED_FROM_STAGE, removedF); 

function exitingF(e:Event):void{ 

      controller.gotoAndStop(2); 
      pausePosition = sndChannel.position; 
      sndChannel.stop(); 
      isPlaying = false; 
} 


function removedF(e:Event):void{ 
      mene.stop(); 
      controller.gotoAndStop(1); 
      sndChannel = soundClip.play(pausePosition); 
      isPlaying = true; 
} 

все мне нужно, это какой-то другой способ сказать вспышки запустить некоторый сценарий сразу после выхода specfic кадра (перейти на другой кадр)

ответ

0

Попробуйте использовать addFrameScript() функция.

Он работает следующим образом: OBJECT.addFrameScript(FRAME, CALLBACK)

Это добавит скрипт на график, и обратный вызов будет выполняться всякий раз, когда будет достигнут заданный кадр.

Вот пример, который я нашел: http://blog.newmovieclip.com/2007/04/30/add-a-frame-script-addframescript-dynamically-in-flash-cs3/

package com.newmovieclip{ 
import flash.display.MovieClip; 
public class Main extends MovieClip { 
public var myStar:Star; 
     //constructor 
public function Main() { 
    //place a star on stage 
    myStar = new Star(); 
    addChild(myStar); 
    //add script to star timeline on frame 5 
    myStar.addFrameScript(4,frameFunction); // (zero based) 
} 
private function frameFunction():void { 
    trace("Executing code for star Frame 5"); 
    //delete frame script by passing null as second parameter 
    myStar.addFrameScript(4,null); 
     } 
} 
} 

Помните, что кадры 0 на основе, как указано в инлайн комментарий от примера

+0

действительно спасибо за ответ, но вы можете объяснить мне больше об этом сценарии, im действительно amature в AS3 этот сценарий может использоваться по моей причине? потому что я хочу добавить скрипт после кадра выхода, а не на Enter Frame – Arioman

+0

Конечно, я обновил свой ответ для вас – Helto

+0

кажется, что addFrameScript() - это функция, которая позволяет добавлять ActionScript к определенному кадру, как я могу использовать этот Для выхода кадра? У меня есть различные меню, которые каждый из них ссылается на различные фреймы. – Arioman

Смежные вопросы