2012-04-27 33 views
0

我正在考虑在Flash中做平台游戏。我所考虑的关卡设计方法是将每个关卡都设置为具有透明或纯色背景的图像。AS3 Custom HitTest

使用常规的测试功能确定一个对象是否触及了另一个对象。在这种情况下,这将始终返回true。

我的问题是,我想要一个hitTest函数返回true,如果玩家角色与关卡上的任何非透明/纯色相冲突。

如果我确实有一个透明的背景,我可能会有另一个图像作为背景,移动比平面图像多一点来创建一个简单的视差效果。如果我这样做,hitTest函数将需要忽略背景图像(我不认为这将是一个问题,但仍然更好地指定并被称为白痴而不是)。

回答

2

这是一种低效率的方法,但它的最简单的办法:

if (player.hitTestObject(platform) && platform.alpha == 1) { 
      trace("we landed!!!"); 
     } else { 
      trace("we fell!!!"); 
     }