1
我有一個透明的圖像和一個正方形。我想檢測方形與圖像碰撞的時間。但是,由於圖像是透明的,它仍然會檢測到它與透明像素髮生碰撞。所以,在我嘗試使用BitmapData之後,我還沒有使用過。所以,它不工作。說實話,我沒有想到波紋管代碼到的工作。我只是寫信給你一個想法,想要做什麼以及我想做什麼。只檢測與透明圖像的可見部分碰撞(AS3)
這裏是我的代碼:
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
/**
* Testing Transparency
* @author Craig Jackson
*/
public class Main extends Sprite
{
public var square:Sprite;
[Embed(source="../lib/TestTransparency.png")]
public var TestTrans:Class;
public var testTransBitmapData:BitmapData = new BitmapData(300, 30, true, 0);
public var testTransBitmap:Bitmap = new TestTrans();
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
startUp();
}
public function startUp():void
{
square = new Sprite();
square.graphics.beginFill(0x666666);
square.graphics.drawRect(0, 0, 50, 50);
square.graphics.endFill();
addChild(square);
testTransBitmapData.draw(testTransBitmap);
addChild(testTransBitmap);
addEventListener(Event.ENTER_FRAME, enterFrame);
}
public function enterFrame(e:Event):void
{
square.x = mouseX;
square.y = mouseY;
if (square.hitTestObject(testTransBitmap))
{
trace("Touching");
}
}
}
任何人都知道我可以做它只能檢測時方與圖像的可見部分碰撞? 提前致謝。
謝謝,拉胡爾。該套件將做我所需要的。 :) – Craig 2013-04-08 00:00:14