Vous pouvez utiliser le stop();
Voici un exemple d'un jeu de swf et de contrôle est donnée à la lecture et pause et boutons gotoAndStop.
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
private function playHandler():void {
var file_mc:MovieClip = fileswf.content as MovieClip;
file_mc.play();
}
private function pauseHandler():void {
var file_mc:MovieClip = fileswf.content as MovieClip;
file_mc.stop();
}
private function pauseat(frame:Number):void {
var file_mc:MovieClip = fileswf.content as MovieClip;
file_mc.gotoAndStop(frame);
}
]]>
</fx:Script>
<mx:SWFLoader x="0" y="0" source="abc.swf" id="fileswf"/>
<s:Button x="0" y="200" label="Play" id="playbtn" click="playHandler()"/>
<s:Button x="100" y="200" label="Pause" id="pausebtn" click="pauseHandler()"/>
<s:Button x="100" y="250" label="Pause at A" id="pauseAbtn" click="pauseat(1)"/>
<s:Button x="200" y="250" label="Pause at B" id="pauseBbtn" click="pauseat(2)"/>
<s:Button x="300" y="250" label="Pause at C" id="pauseCbtn" click="pauseat(3)"/>
<s:Button x="400" y="250" label="Pause at D" id="pauseDbtn" click="pauseat(4)"/>
<s:Button x="500" y="250" label="Pause at E" id="pauseEbtn" click="pauseat(5)"/>
</s:Application>
Pour être complet, je l'ai placé dans la méthode de @Embed (il est impossible d'obtenir le swf d'origine directement via SWFLoader [runtime vs compilation] mais vous pouvez vous permettre de charger les octets d'une classe)
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600" addedToStage="init()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
[Embed(source="abc.swf", mimeType="application/octet-stream") ]
public var abc_cls:Class;
public var ldr:Loader = new Loader();
private var file_mc:MovieClip;
protected function init():void
{
ldr.loadBytes(new abc_cls() as ByteArray);
ldr.contentLoaderInfo.addEventListener(Event.INIT, onSwfLoaded);
swfcontainer.addChild(ldr);
}
private function onSwfLoaded(e:Event):void {
file_mc = ldr.content as MovieClip;
}
private function playHandler():void {
file_mc.play();
}
private function pauseHandler():void {
file_mc.stop();
}
private function pauseat(frame:Number):void {
file_mc.gotoAndStop(frame);
}
]]>
</fx:Script>
<mx:Image id="swfcontainer" />
<s:Button x="0" y="200" label="Play" id="playbtn" click="playHandler()"/>
<s:Button x="100" y="200" label="Pause" id="pausebtn" click="pauseHandler()"/>
<s:Button x="100" y="250" label="Pause at A" id="pauseAbtn" click="pauseat(1)"/>
<s:Button x="200" y="250" label="Pause at B" id="pauseBbtn" click="pauseat(2)"/>
<s:Button x="300" y="250" label="Pause at C" id="pauseCbtn" click="pauseat(3)"/>
<s:Button x="400" y="250" label="Pause at D" id="pauseDbtn" click="pauseat(4)"/>
<s:Button x="500" y="250" label="Pause at E" id="pauseEbtn" click="pauseat(5)"/>
</s:Application>
Je suis sûr maintenant qu'il est l'intégration, qui donnait le problème désolé pour tout risque de confusion. Donc, si vous avez besoin de votre swf dans le cadre de votre fichier ci-dessous devrait le tour. La dernière façon d'obtenir des ressources dans votre espace de travail flexible consiste à utiliser SWC Assets Method.
Bonne chance! : D
est le fichier SWF fait dans Action Script 2.0 ou 3.0? – phwd
cela se fait dans ActionScript 3.0. J'ai essayé de créer une instance d'un clip et d'assigner mon SWF dans le clip en le lançant en tant que tel, mais cela ne semble pas fonctionner. J'ai aussi essayé d'utiliser Loader mais ça ne marche pas aussi bien. Merci pour la réponse. – Kim