0

私は ActionScript を初めて使用するので、それに固執しています。必要なのは、マウスが画像の上にあるときに曲を再生することです。私はこれをやろうとしましたが、エラーが発生します:

Scene 1, Layer 'actions', Frame 1, Line 45  1120: Access of undefined property soundChannel.
Scene 1, Layer 'actions', Frame 1, Line 46  1120: Access of undefined property soundChannel.
Scene 1, Layer 'actions', Frame 1, Line 74  1120: Access of undefined property des_elefante.

これまでの私のコードは次のとおりです。

import flash.events.MouseEvent;
import flash.media.Sound;
import flash.net.URLRequest; 
import flash.media.SoundChannel; 
import flash.net.URLLoader;
import flash.events.*;
import flash.display.MovieClip;

var dragArray:Array = [letraE, letraA,letraI,letraO,letraU];
var matchArray:Array = [letraEmatch,letraAmatch,letraImatch,letraOmatch,letraUmatch];

var currentClip:MovieClip;
var startX:Number;
var startY:Number;
matchArray[0].alpha = 0.2;
matchArray[1].alpha = 0;
matchArray[2].alpha = 0;
matchArray[3].alpha = 0;
matchArray[4].alpha = 0;



for(var i:int = 0; i < dragArray.length; i++) {
    dragArray[i].buttonMode = true;
    dragArray[i].addEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown);

}





function item_onMouseDown(event:MouseEvent):void {
    currentClip = MovieClip(event.currentTarget);
    startX = currentClip.x;
    startY = currentClip.y;
    addChild(currentClip); //leva o clip pra frente
    currentClip.startDrag();
    stage.addEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp, MouseEvent.MOUSE_OVER);
}
function fl_play_sound(event:MouseEvent):void{

    var sound = new Sound();  
    sound.load(new URLRequest("audio_elefante.wav"));
    soundChannel = new SoundChannel();
    soundChannel = sound.play();

}
function stage_onMouseUp(event:MouseEvent):void {
    stage.removeEventListener(MouseEvent.MOUSE_UP, stage_onMouseUp);
    currentClip.stopDrag();
    var index:int = dragArray.indexOf(currentClip);
    var matchClip:MovieClip = MovieClip(matchArray[index]);
    if(currentClip.hitTestObject(matchClip)) {
        //se a combinação é a certa, ele posiciona a o clip da letra no clip do tracinho
        currentClip.x = matchClip.x;
        currentClip.y = matchClip.y;
        //Desabilita pra arrastar já que é o certo
        currentClip.removeEventListener(MouseEvent.MOUSE_DOWN, item_onMouseDown);
        currentClip.buttonMode = false;
    } else {
        //se a combinação não é a certa, leva o clip da letra de volta pra posição inicial;
        currentClip.x = startX;
        currentClip.y = startY;
    }
}


letraA.addEventListener(MouseEvent.MOUSE_OVER, fl_MouseOverHandler);
letraI.addEventListener(MouseEvent.MOUSE_OVER, fl_MouseOverHandler);
letraO.addEventListener(MouseEvent.MOUSE_OVER, fl_MouseOverHandler);
letraU.addEventListener(MouseEvent.MOUSE_OVER, fl_MouseOverHandler);
letraE.addEventListener(MouseEvent.MOUSE_OVER, fl_MouseOverHandler);
des_elefante.addEventListener(MouseEvent.MOUSE_OVER, fl_play_sound);

function fl_MouseOverHandler(event:MouseEvent):void
{
    // Start your custom code
    // This example code displays the words "Moused over" in the Output panel.
    //trace("Moused over");
    // End your custom code
}

画像をボタン、ムービークリップ、グラフィックに変換しましたが、最後のエラーについては何も変わりませんでした。ありがとうございました

4

1 に答える 1

0

キーワードを使用して soundChannel 変数を宣言する必要がありますvar。import ステートメントの後に、ファイルの先頭近くにこれを追加してみてください。

var soundChannel:SoundChannel;
于 2013-06-09T23:49:12.817 に答える