當前位置:編程學習大全網 - 源碼下載 - flash中如何檢測飛出的子彈和敵人相撞,求源碼,求詳細解釋。

flash中如何檢測飛出的子彈和敵人相撞,求源碼,求詳細解釋。

1.計算距離

var Apoint:Point = new Point(bullet.x, bullet.y);

var Bpoint:Point = new Point(enemy.x, enemy.y);

var distanceAB:Number = Point.distance(Apoint, Bpoint);

if (distanceAB < )

{

//碰撞

}

2.像素級別的碰撞,消耗挺大的,如果沒必要很精確的話,不推薦!

package

{

import flash.display.BitmapData;

import flash.display.Sprite;

import flash.geom.Matrix;

import flash.geom.Point;

public class BitmapCollision extends Sprite

{

private var bmpd1:BitmapData = new BitmapData(stageWidth, stageHeight,true,0);

private var bmpd2:BitmapData = new BitmapData(stageWidth, stageHeight,true,0);

private var spr1:Sprite = new Sprite;

private var spr2:Sprite = new Sprite;

public function BitmapCollision(spr1:Sprite,spr2:Sprite)

{

this.spr1 = spr1;

this.spr2 = spr2;

}

public function updataHandler():void

{

bmpd1.fillRect(bmpd1.rect, 0);

bmpd2.fillRect(bmpd2.rect, 0);

bmpd1.draw(spr1, new Matrix(1, 0, 0, 1, spr1.x, spr1.y));

bmpd2.draw(spr2, new Matrix(1, 0, 0, 1, spr2.x, spr2.y));

if (bmpd1.hitTest(new Point(), 255, bmpd2, new Point(), 255))

{

//碰撞

}

else

{

}

}

}

}

3. as 自帶的 hitTest!

方法很多,找到適合自己的!

  • 上一篇:主要力量分項指標公式源代碼
  • 下一篇:Hashmapadd源代碼
  • copyright 2024編程學習大全網