我正在考虑在flash中进行平台游戏。我想到的关卡设计的方法是将每个关卡设置为具有透明或纯色背景的图像。
使用常规hittest函数确定一个对象是否触摸了另一个对象。在这种情况下,这将始终返回true。
我的问题是,如果玩家角色与关卡上的任何非透明/纯色碰撞,我想要一个hitTest函数返回true。
如果我确实有透明背景,我可能会有另一张图像作为背景,它会比水平图像稍微移动一下,以创建一个简单的视差效果。如果我这样做,hitTest函数将需要忽略背景图像(我不认为这将是一个问题,但仍然更好地指定并被称为白痴而不是)。
答案 0 :(得分:2)
这是一种效率低下的方法,但它是最简单的解决方案:
if (player.hitTestObject(platform) && platform.alpha == 1) {
trace("we landed!!!");
} else {
trace("we fell!!!");
}
答案 1 :(得分:1)
考虑使用AS3 Collision Detection Kit,因为它可以检测到颜色上的命中。