AS3障碍击中了测试

时间:2013-02-23 08:55:47

标签: actionscript-3 hittest

好的,我已经阅读了一些关于基本平台创建的文章,人们说这是最困难的部分 - 高速进行正确的碰撞。实际上,即使我有60 fps,也很难追踪每个刻度50-100像素的物体。问题是,如果它撞到墙壁,它会通过它,检测到走得太远并将物体返回到速度为0(或弹跳)的墙旁边的定义点。但如果我在舞台中间有一个5像素的墙,即使在低速时也可能错过碰撞。是的,你会说“制作2个区域,检查对象是否在一个,另一个将是一个完整的hitTest区域从它返回”但是如果我需要一个随机绘制的墙迷宫怎么办? 什么是使薄壁成为对象的好方法不会通过?

想到平台游戏,我想起了恶魔城和银河战士,它不是AS3,但是,也许你知道他们是如此顺利地做到的吗?好的fps?预测碰撞?或者没有人像疯子一样疯狂的速度?

在深入编码之前,我真的可以使用一些想法。我希望至少知道我正在以正确的方式前进,即使它很难。为了不结束1000行,不记得什么是什么和CPU负载@ 95%对于1个单个对象XD我现在的猜测是使对象的左,上,下四个不可见块分别计算每个侧面碰撞。但它可能会在角落里变得丑陋。也许8个街区?

1 个答案:

答案 0 :(得分:1)

目前,你在框架发生的确切时刻检查对象是否与墙壁相交,但实际上你想知道对象是否与墙壁相交在最后一帧和现在之间。你可以想象一下物体在之前和现在之间的界线,所以基本上你需要检查那条线是否与墙的线相交。

它很老了,但是tonypa有一个很好的教程here,它涵盖了所有的基础知识。