AS3 自定义命中测试

Posted

技术标签:

【中文标题】AS3 自定义命中测试【英文标题】:AS3 Custom HitTest 【发布时间】:2012-05-08 09:29:04 【问题描述】:

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

使用常规的 hittest 函数确定一个对象是否接触了另一个对象。在这种情况下,这将始终返回 true。

我的问题是,如果玩家角色与关卡上的任何非透明/纯色发生碰撞,我希望 hitTest 函数返回 true。

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

【问题讨论】:

【参考方案1】:

这是一种效率低下的方法,但却是最简单的解决方案:

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

【讨论】:

【参考方案2】:

考虑使用AS3 Collision Detection Kit,因为它可以检测颜色。

【讨论】:

以上是关于AS3 自定义命中测试的主要内容,如果未能解决你的问题,请参考以下文章

请求未命中自定义端点

AS3/Flex 自定义 TextInput 组件填充

查询会话和命中级别的自定义维度

使用自定义图像按钮在 UIToolbar 上命中目标不正确

BigQuery:两个命中级自定义维度

AS3 自定义 TextField 文本正在其 textWidth 之外绘制