• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:spriteで直線を引いたときに線が太くなる)

spriteで直線を引いたときに線が太くなる

このQ&Aのポイント
  • actionscript 3.0で作成したプログラムにおいて、spriteを使用して直線を引くと、線が太くなる現象が発生します。特に、モーショントゥイーンを使用してPを移動させる場合に顕著になります。この問題を解決するためには、lineStyleメソッドで線の太さを明示的に指定する必要があります。
  • 線が太くなる問題の原因は、lineStyleメソッドの第二引数に数字を指定することで線の太さを設定しているためです。これにより、Pが移動する度に線の太さも変動してしまいます。解決策としては、lineStyleメソッドの第二引数に常に1を指定するようにすることで、線の太さを一定に保つことができます。
  • 上記のプログラムは、直線を引くためのLineSegmentクラスのインスタンスを作成し、そのインスタンスのgraphicsプロパティを使用して直線の描画を行っています。描画の際には、lineStyleメソッドを使用して線の太さを指定しますが、このメソッドの第二引数を1に設定することで、線の太さを一定に保つことができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

検証のため 関数 makeTriangle をちょっと変更して ムービープレビューしてみました【図↓】。 Windows ですが 線の太さは特に変わらないように見えますが。。。? ちなみに 上の図は stage.quality = StageQuality.HIGH; 下の図は stage.quality = StageQuality.LOW; を書いています。 さらにちなみに 関数 makeTriangle の 検証のための変更↓ //関数 makeTriangle の定義 function makeTriangle(e:Event):void { //(前のフレーム時間で)描画したものを消す //(↓修正した上でコメントアウト) //spriteAP.graphics.clear(); spriteAP.graphics.lineStyle(1,0x000000); //(↓重複しているためコメントアウト) //spriteAP.graphics.lineStyle(1,0x000000,1,false,"normal","round"); spriteAP.graphics.moveTo(A_mc.x,A_mc.y); spriteAP.graphics.lineTo(P_mc.x,P_mc.y); }