0

わかりましたので、画面上の別の場所にオブジェクトの正方形 (ムービー クリップ) の複数のインスタンスを表示しようとしています。

var k1=0,k=0,p=0;
for (k1=0;k1<5;k1++)
{

drawrect(k,p);
k=k+101;

}

この上記のコードは、オブジェクトを画面に水平に並べて表示したい回数です。

import flash.display.MovieClip;

function drawrect(x1:Number,y1:Number){
    // statements here
    trace("Hello world!");
var MC_squre:MovieClip= new MovieClip();
MC_squre.x=x1;
MC_squre.y=y1;

addChild(MC_squre);

};

この関数は、ムービークリップ SQUARE のインスタンスを宣言し、関数内の特定のパラメーターに配置しようとしています。後でそれとインスタンスの配列も作成したい場合があります。このコードを試してみました

var square:Sprite = new Sprite();
addChild(square);
square.graphics.lineStyle(3,0x000000);
square.graphics.beginFill(0x0000FF);
square.graphics.drawRect(0,0,100,100);
square.graphics.endFill();

うまくいきましたが、描画された形状だけでなく、ライブラリオブジェクトで使用したいと思います。

4

1 に答える 1

0

あなたがしなければならないことは、アクションスクリプトによってライブラリ内のオブジェクトにアクセスできるようにすることです。これを行うには、そのクリップのプロパティに移動し、[詳細設定] をクリックして、[Actionscript 用にエクスポート] チェックボックスをオンにします。「OK」を押すと、そのようなクラスは存在しないという警告が表示され、自動的に生成されます。それは大丈夫です。

プロパティにクラス名として入力したものは何でも、オブジェクトをインスタンス化するために使用する必要があります。たとえば MySquare の場合は、それを使用します。したがって、上記のコードは次のようになります。

 function drawrect(x1:Number,y1:Number){
    // statements here
    trace("Hello world!");
    var MC_squre:MovieClip= new MySquare();
    MC_squre.x=x1;
    MC_squre.y=y1;

    addChild(MC_squre);
};
于 2013-04-24T13:56:22.677 に答える