(section09-01 基本的な図形を描くから抜粋)
endFill()を実行しなくても図形の塗りは実行されます。たとえば、次のように円を描いた場合、endFill()を実行しなくても図形が塗られます。
[:script:]endFill()を実行していない
では、endFill()は必要ないかと言えばそうではありません。次のように重なるように円を描いた場合、塗りが重なっている部分は塗られません。
[:script:]円を重ねて描くと、塗りが重なった部分が塗られません。
2つの円がどちらも塗られるようにするには、図形の塗りの終了ごとにendFill()を実行することで円を1個ずつ塗ります。
[:script:]重なっている円を塗る
endFill()を実行しなくても図形の塗りは実行されます。たとえば、次のように円を描いた場合、endFill()を実行しなくても図形が塗られます。
[:script:]endFill()を実行していない
var sp:Sprite=new Sprite(); sp.graphics.beginFill(0xFF0000); sp.graphics.drawCircle(0,0,100); sp.x=200; sp.y=150; addChild(sp);
では、endFill()は必要ないかと言えばそうではありません。次のように重なるように円を描いた場合、塗りが重なっている部分は塗られません。
[:script:]円を重ねて描くと、塗りが重なった部分が塗られません。
var sp:Sprite=new Sprite(); sp.graphics.beginFill(0xFF0000); sp.graphics.drawCircle(0,0,100); sp.graphics.drawCircle(-80,0,50); sp.x=200; sp.y=150; addChild(sp);
2つの円がどちらも塗られるようにするには、図形の塗りの終了ごとにendFill()を実行することで円を1個ずつ塗ります。
[:script:]重なっている円を塗る
var sp:Sprite=new Sprite(); //塗りの開始 sp.graphics.beginFill(0xFF0000); sp.graphics.drawCircle(0,0,100); sp.graphics.endFill(); //塗り終了 //塗りの開始 sp.graphics.beginFill(0xFF0000); sp.graphics.drawCircle(-80,0,50); sp.graphics.endFill(); //塗り終了 sp.x=200; sp.y=150; addChild(sp);