2013-04-27 40 views
1

我一直在迷宮遊戲上扭曲,並且我的球有物理移動,但我正在努力讓它撞到它周圍的牆上。其目前的影片剪輯與黑色的牆壁,以及香港專業教育學院使用該代碼,試圖阻止它:如何在actionscript 3.0中創建牆?

if (character.hitTestObject(walls)){ 
     character.x = //something 
     character.y = //something 
    } 

這樣做只是當它擊中的影片剪輯的任何部分,(即使是空格),它的動作我字符,

是否有任何一種代碼我可以用來檢測到某種顏色?

+0

起初我還以爲是'hitArea'會有幫助,但它不會爲'hitTestObject'使用顯示對象的邊界框。 – taskinoor 2013-04-27 13:14:18

+0

有沒有其他方法? – sam 2013-04-27 13:23:15

回答

0

你可以做到這一點的一種方法是使用hitTestPoint()方法來測試任何角落是否已經撞到你的牆上。

hitTestPoint()只測試一個位置以查看該點是否與對象碰撞。這是你如何可以測試你的性格的左上角,看看它是否摸牆:

// I am assuming that x,y is the top left corner of your character 

if (wall.hitPointTest(character.x, character.y, true)) 
{ 
    // top left collided with wall 
{ 

所以,你可以爲所有的角落做同樣的,或者如果你願意,你可以決定任何撞擊點你想要檢查角色。

根據您的精度水平,此方法可能適用於您的需求。但是如果你想像素的完美碰撞,你可以看看這個鏈接:

http://www.freeactionscript.com/2011/08/as3-pixel-perfect-collision-detection/