如何在actionscript 3.0中制作墙?

时间:2013-04-27 12:41:40

标签: actionscript-3 flash

我已经在迷宫游戏中做了一个转折,我已经让我的球与物理一起移动,但我正在努力让它绕到它周围的墙壁。它目前是一个黑色墙壁的电影剪辑,我已经使用这个代码试图阻止它:

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

所有这一切都是当它击中影片剪辑的任何部分时,(甚至是空格)它会移动我的角色,

我可以使用任何类型的代码来检测撞到某种颜色吗?

1 个答案:

答案 0 :(得分: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/