図形(円、長方形、または線)を描画しましたが、その後、それらを重ねて別の図形を描画せずに色を変更したいのですが、それは可能ですか?
graphics.beginFill(0x000000, 1);
graphics.drawCircle(70, 67, 2);
graphics.drawCircle(90, 67, 2);
graphics.endFill();
このコードの後、それらの円の色を変更することができますか?しばらくしてから言いましょう...
図形(円、長方形、または線)を描画しましたが、その後、それらを重ねて別の図形を描画せずに色を変更したいのですが、それは可能ですか?
graphics.beginFill(0x000000, 1);
graphics.drawCircle(70, 67, 2);
graphics.drawCircle(90, 67, 2);
graphics.endFill();
このコードの後、それらの円の色を変更することができますか?しばらくしてから言いましょう...
そうです、そうではありません。その形状を描画すると、そのフレームの描画バッファーにベイク処理されます。メインフレームバッファに描画した場合は、それだけです。変更はありません。あなたができることは、それをまたはの別のインスタンスに描画し、Sprite
をMovieClip
使用することColorTransform
です。
var mc:MovieClip=new MovieClip();
mc.graphics.beginFill(0x000000, 1);
mc.graphics.drawCircle(70, 67, 2);
mc.graphics.drawCircle(90, 67, 2);
mc.graphics.endFill();
以降:
var c:ColorTransform = new ColorTransform();
c.color = (Math.random() * 0xFFFFFF);
mc.transform.colorTransform = c;
シェイプをに配置するMovieClip
と、すべてのフレームで手動で再描画する必要がないという利点もあり(通常のフレームバッファをクリアしてMovieClip
も'sはクリアされません)、とを使用して簡単に移動できることも意味しmc.x
ますmc.y
。
好奇心から、描いたときの色を設定できないのはなぜですか?