ムービークリップのビットマップを描画してから、ヒットテスト関数に入力して衝突をテストします。ただし、スケーリングおよび/または回転されたムービークリップのビットマップを考慮して描画するために、以下のコードに追加する方法がよくわかりません。以下のコードは、明らかに変換されていないムービークリップに対してのみ機能します。私はすでに試したコメントコードに含めましたが、成功しませんでした。
描画されたビットマップをステージに追加すると、問題のムービークリップが変換されているかどうかに関係なく、描画されたビットマップは「切り取られ」、正しく描画されません。その一部だけが描画されているように見えます。ただし、これは変換されていないムービークリップの衝突テストには特に影響しませんが、変換されたムービークリップには悪影響を及ぼします。
描画したいムービークリップはすべて、グラフィックス プロパティを使用して作成されています。
//for example:
var mymc:MovieClip = new MovieClip();
var g:Graphics = mymc.graphics;
g.moveTo(0,0);
g.lineTo(17.5,0);
g.lineTo(8.75,17.5);
g.lineTo(-8.75,17.5);
g.lineTo(0,0);
メインコード:
for each(var mc:MovieClip in impassable) {
//var bMatrix:Matrix = new Matrix();
//bMatrix.scale(mc.scaleX, mc.scaleY);
//bMatrix.rotate(mc.rotation * (Math.PI/180));
var bData:BitmapData = new BitmapData(mc.width, mc.height, true, 0);
//bData.draw(mc, bMatrix);
bData.draw(mc);
var bitmap:Bitmap = new Bitmap(bData);
bitmap.x = mc.x;
bitmap.y = mc.y;
var HitTest:Number = newCollision(bitmap, centerX, centerY, 13.7);
何かご意見は?ありがとう