2

その中にムービークリップの都市で構成されるマップがあり、マップムービークリップの最上層にクリック機能があります。都市をクリックすると、長方形が描画されます。コードは次のとおりです。

function rpress(a)
{
trace( "trying" );

    var b:MovieClip = new MovieClip();
    b.graphics.beginFill(0xFF0000);
    b.graphics.drawRect(0,0,100,80);
    b.graphics.endFill();
    b.x = 150;
    b.y = 150;
    addChild( b );
trace("done")
}

トレース コマンドは実行されますが、四角形は描画されません。私は試しMovieClip( root ).addChild..., stage.addChild..., MovieClip( parent ).addChild...てみました...

何か考えはありますか?ありがとうございました!

完全なコード:

ダブルクリック マップ ムービークリップ -> 84 レイヤーを歓迎 -> 「アクション レイヤー」という名前のレイヤーを選択 ACTIONS-FRAME:

function rbtxt(a)
{
    var _loc2 = a;
    var _loc3 = this;
    balon._visible = true;
    arbtxt = ilad.split(",");
    balon.txt.text = arbtxt[_loc2];
    _loc3["x" + _loc2].play();
    balon._x = _loc3["x" + _loc2]._x;
    balon._y = _loc3["x" + _loc2]._y - _loc3["x" + _loc2]._height / 2 + 5;
}
//End of the function
function rbalon(a)
{
    balon._visible = false;
    this["x" + a].gotoAndStop(1);
}
//End of the function
function rpress(a)
{
trace( "trying" );

    var b:MovieClip = new MovieClip();
    b.graphics.beginFill(0xFF0000);
    b.graphics.drawRect(0,0,100,80);
    b.graphics.endFill();
    b.x = 150;
    b.y = 150;
    addChild(b );
trace("done")
}

ilad = "CITY NAMES....."
ilurl = "CITY URLS....."
4

3 に答える 3

1

こんにちは、ムービークリップをステージに追加してから、このように描画カムを実行してみてください

 var b:MovieClip = new MovieClip();
    addChild(b );
    b.graphics.beginFill(0xFF0000);
    b.graphics.drawRect(0,0,100,80);
    b.graphics.endFill();
    b.x = 150;
    b.y = 150;
于 2012-08-04T11:58:27.067 に答える
1

十分なコードが表示されていないため、推測することしかできません。あなたが提供した情報を見ることで、あなたは試すことができます:

this["x" + a].addChild( b );

また

balon.addChild( b );

しかし、これは推測にすぎません...

于 2012-08-03T22:26:51.170 に答える
0

スプライトはグラフィックスにアクセスできます。ロードされた SWF や、タイムライン ベースのアニメーションや変数を含む Flash ライブラリ アセットなどの複雑なオブジェクトには、ムービークリップのみを使用してみてください。

function drawRect()
{
    trace( "trying" );

    //var b:MovieClip = new MovieClip();
    var b:Sprite = new Sprite();
    b.graphics.beginFill(0xFF0000);
    b.graphics.drawRect(0,0,100,80);
    b.graphics.endFill();
    b.x = 150;
    b.y = 150;
    addChild( b );
    trace("done")
}
于 2012-08-03T22:34:26.447 に答える