Я был бы признателен, если бы увидел несколько примеров кода ActionScript 3.0, в котором используются звуковые файлы любого типа, которые будут использоваться в файлах Flash Pro, для окончательного вывода в формате SWF.
Я использую код (ниже) для базового класса Bubble Game (своего рода), и проблема в том, что при щелчке звук воспроизводится немного слишком поздно, а не на месте.
спасибо.
Это мой код, который связан с Bubbles в библиотеке моего FLA:
package
{
import flash.display.*;
import flash.events.*;
import flash.media.Sound;
import flash.net.URLRequest;
public class BubbleBaseNew4 extends MovieClip
{
var thisBubble:MovieClip;
var navdock:MovieClip;
var thisParent:*;
private var snd:Sound = new Sound();
public function BubbleBaseNew4()
{
this.addEventListener(Event.ADDED_TO_STAGE, initialize);//off http://kb2.adobe.com/cps/838/cpsid_83815.html to do ADDED_TO_STAGE instead of ADDED
this.addEventListener(MouseEvent.CLICK, pop);
}
function initialize(event:Event):void
{
this.removeEventListener(Event.ADDED_TO_STAGE, initialize);//this causes sym_mc to be defined as an Ojbect
thisParent = event.currentTarget.parent;
navdock = thisParent.nav_mc;
thisBubble = MovieClip(this.parent.getChildByName(this.name));
this.addEventListener(Event.ENTER_FRAME, moveBubble);
var req:URLRequest = new URLRequest("my_own_twp_noise_tremolo_phaser_.mp3");
snd.load(req);
}
function moveBubble(event:Event):void
{
if(navdock != null && this.hitTestObject(navdock))
{
trace("HIT!");
this.removeEventListener(Event.ENTER_FRAME, moveBubble);
this.removeEventListener(MouseEvent.CLICK, pop);
this.parent.addChild(this);//this adds the bubble that's removed, i think.
this.parent.removeChild(thisBubble);
}
else
{
var mc:MovieClip = event.target as MovieClip;
if(currentFrame == 1)
{
mc.x = Math.random() * stage.stageWidth;
mc.y = Math.random() * stage.stageHeight;
rotation += Math.random() * -90;
}
}
}
function pop(event:MouseEvent):void
{
/*var bzp:Sound = Sound(thisParent.my_own_twp_noise_tremolo_phaser_.wav);
this.load(bzp);*/
this.removeEventListener(Event.ADDED_TO_STAGE, initialize);
this.removeEventListener(MouseEvent.CLICK, pop);
this.removeEventListener(Event.ENTER_FRAME, moveBubble);
var main:MovieClip = MovieClip(this.parent.parent);
main.increaseScore();
//mediary 'increaseScore function' variable
var main4:MovieClip = MovieClip(this.parent.parent);
main4.increaseScore4();
this.parent.removeChild(thisBubble);
snd.play();
}
}
}