Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 使用ActionScript 3.0进行碰撞检测_Actionscript 3_Actionscript_Flash_Flash Cs4 - Fatal编程技术网

Actionscript 3 使用ActionScript 3.0进行碰撞检测

Actionscript 3 使用ActionScript 3.0进行碰撞检测,actionscript-3,actionscript,flash,flash-cs4,Actionscript 3,Actionscript,Flash,Flash Cs4,嘿,我是初学者Flash动作脚本3开发人员 我正在使用hitTestPoint()检测汽车和舞台图纸之间的碰撞。汽车在舞台上移动,所以我使用hitTestPoint() 比如说,有一个问题 汽车是一个正方形,现在它实际上是一个完美的正方形 我正在这样做: heightHalf = car.height / 2; widthHalf = car.width / 2; if(level.hitTestPoint(car.x + widthHalf, car.y + heightHalf,true)

嘿,我是初学者Flash动作脚本3开发人员

我正在使用hitTestPoint()检测汽车和舞台图纸之间的碰撞。汽车在舞台上移动,所以我使用hitTestPoint()

比如说,有一个问题

汽车是一个正方形,现在它实际上是一个完美的正方形

我正在这样做:

heightHalf = car.height / 2;
widthHalf = car.width / 2;

if(level.hitTestPoint(car.x + widthHalf, car.y + heightHalf,true)){
    trace( "Right Collision" );
}
它的工作原理应该是,car.x+其with的一半应该返回x轴上与y轴碰撞的点。但它不起作用

当我的车和右边的墙相撞时,它不会产生错误或痕迹,但如果我在车完全移出舞台之前将车进一步移出舞台(因为车可以穿过墙壁),它会在左边和墙相撞时产生痕迹错误

这些图片应该有助于:

无错误的右碰撞:

错误但有错误的一面:


反转+-标志也没有帮助。

注意锚定点在汽车对象上的位置。由于您使用的是Flash IDE,锚点可以在中间、右、或左角。 此外,您还需要对这种类型的HIT测试进行多点测试。汽车每侧至少有一个

如果您的登记点位于左上角,则您正在测试车辆的中间点。因此,只有当一半的汽车翻墙时,它才会记录碰撞


检查您的注册点。创建新的movieClip或Sprite时,可以通过单击对象名称下出现的正方形上的9框之一来选择注册点

你的汽车电影的登记点在哪里?你真的想测试一个点(基本上是一个像素)而不是整辆车吗?你能帮我修一下吗?我做了很多尝试,我把它写在笔记本上以便理解,但我的方法仍然不起作用。档案:我不会为你做的。这是一个学习的地方,不是免费工作的地方。编辑您的问题,包括您试图解决的问题以及您遇到的问题。我很乐意帮忙,但我不会帮你的。也可以在编辑过的问题或其他我不需要下载的地方发布相关代码。我不是在问其他像乞丐一样的人。我试过了,但没能解决。这仅仅是几行代码……stackoverflow上还发布了许多其他类似的问题。