-1

Actionscipt2.0 を使用してドラッグ アンド マッチ フラッシュを実行しましたが、3.0 に変更する必要があります。私がそれを変更した後、フラッシュはもはやものをドラッグできません。誰でもコードを見て、どの部分が間違って変換されているかを確認してください。ありがとう。

Actionscript 2.0 バージョン:

stop();
var randomPositionFrame = int(Math.random()*9)+1;
content_mc.gotoAndStop(randomPositionFrame);
for(var i=1; i<=5; i++){
eval("content_mc.matching_term_"+i)._alpha = 0;
eval("content_mc.matching_term_"+i).onPress = function(){
    if(this._currentframe == 1){
        this.startDrag();
    }
}
eval("content_mc.matching_term_"+i).onRelease = onMouseUp = function(){
    this.stopDrag();
}

eval("content_mc.matching_desc_"+i)._alpha = 0;
eval("content_mc.matching_desc_"+i).onPress = function(){
    if(this._currentframe == 1){
        this.startDrag();
    }
}
eval("content_mc.matching_desc_"+i).onRelease = onMouseUp = function(){
    this.stopDrag();
}
}

Actionscript 3.0 バージョン:

stop();
var randomPositionFrame = int(Math.random()*9)+1;
content_mc.gotoAndStop(randomPositionFrame);
for(var i=1; i<=5; i++){
this["content_mc.matching_term_"+i]._alpha = 0;
 this["content_mc.matching_term_"+i].addEventListener(MouseEvent.MOUSE_DOWN,function():void     {
if(this._currentframe == 1){
        this.startDrag();
    }
}
);

    this["content_mc.matching_term_"+i].addEventListener(MouseEvent.MOUSE_UP,function():void {
stage.addEventListener(MouseEvent.MOUSE_UP, doMouseUp, false, 0, true);

function doMouseUp($evt:MouseEvent):void
{
this.stopDrag();
}
}
);


this["content_mc.matching_desc_"+i]._alpha = 0;
    this["content_mc.matching_term_"+i].addEventListener(MouseEvent.MOUSE_DOWN,function():void     {
    if(this._currentframe == 1){
        this.startDrag();
    }
}
);

this["content_mc.matching_desc_"+i].addEventListener(MouseEvent.MOUSE_UP,function():void {
this.stopDrag();
}
);
}
4

2 に答える 2

0

これはうまくいきません

    this["content_mc.matching_term_"+i]

各オブジェクトと個別に対話する必要があります。それではthisまずcontent_mc

    this.content_mc["matching_term_"+i]

少しは役立つかもしれません。

于 2013-01-17T21:04:50.820 に答える
0

マウス リスナーでは、イベントからターゲット/オブジェクトを取得する必要があります。リスナーを適用したターゲットを意味します。

2 つのリスナー関数を作成し、addEventListener 呼び出しに適用します。

function mouseDownHandler(e:MouseEvent):void
{
    var object = e.target;
    object.startDrag();
}

function mouseUpHandler(e:MouseEvent):void
{
    var obj = e.target;
    obj.stopDrag();
}

次のように addEventListener を使用します。

yourObj.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
yourObj.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
于 2013-01-17T09:46:34.820 に答える