0

方法はありますか/変数を動的に使用する方法を知りたいです。私の考えは、ムービークリップで関数を呼び出すと同時にパラメータを渡すことです。その後、パラメータ値が関数に渡され、スクリプトが追加されます。

関数のパラメータ変数を利用するには、その値を使用して、関数内でinstanceName.methodとして実行しますか?

サンプルコード、インスタンス名がbox1とbox2の2つのムービークリップがあります。ムービークリップのいずれかを押すと、関数が実行されます。

// movieClip, instance name : box1
on(press){
    _root.functionName(this._name);
}
on(release){ stopDrag(); }
  • movieClip、インスタンス名:box2は、同じコードを持っています。
  • 「this._name」を介して関数にIDが渡されています

最後に、関数のコードを次に示します。その値を知るために「b」をトレースします。ムービークリップをドラッグできるようにstartDrag()を追加しました。「ムービークリップをドラッグしながら「-ドラッグ」+bをトレースするにはどうすればよいですか?」

前もって感謝します。このコードを使うことを考えました。これは許可されていますか?

function functionName(b){

    trace(b+" selected.");
    startDrag(b);

    b.onMouseMove = function(){        // <---- please help
        trace("--drag "+b);
    }   
}

コードは単純で役に立たないように見えるかもしれません:)これは実際に私が扱っているコードではありません。関数内でonmousemoveを実行するための適切な行を取得しようとしています。

function functionName(param_var){    
    object.eventMethod = function () {
        // some code here.
    }
}

パラメータ変数をオブジェクトとして使用できますか?

4

2 に答える 2

0

おそらく、コードを別の方法でビルドする必要があります。次に例を示します。

//Import Delegate
import mx.utils.Delegate;

//First you set the event with Relegate which will prevent from Flash scope problems
box1.onPress = Delegate.create(this, onBoxPressed);
box1.onPress.currentBox = box1;
box1.onRelease = Delegate.create(this, onBoxReleased);
box1.onRelease.currentBox = box1
box2.onPress = Delegate.create(this, onBoxPressed);
box2.onPress.currentBox = box2;
box2.onRelease = Delegate.create(this, onBoxReleased);
box2.onRelease.currentBox = box2;

//Function executed when the box is pressed
function onBoxPressed():Void {
    var box:MovieClip = arguments.caller.currentBox;
    box.startDrag();
    box.onMouseMove = Delegate.create(this, onMouseMoved);
}

//Function executed when the box is released
function onBoxReleased():Void {
    var box:MovieClip = arguments.caller.currentBox;
    delete box.onMouseMove;
    box.stopDrag();
}

//Function executed when the box is pressed and the mouse moves
function onMouseMoved():Void {
    trace("I'm moving my box");
}
于 2012-07-31T21:39:20.153 に答える
0

私はなんとか答えを見つけることができました。私の投稿をご覧いただきありがとうございます。

//Having function that would dynamically manage parameters into object
//given that the object is found in the ROOT.

function myFunction(param_var) {
    // _root[param_var] => can be use as an Object regards to the parameter
    _root[param_var].eventMehtod= function(){    
        // some code here;
    } 
}
于 2012-08-10T08:44:04.680 に答える