flash代码问题!!!!!!!!急3
发布网友
发布时间:2023-10-16 06:44
我来回答
共1个回答
热心网友
时间:2024-11-22 19:24
这些代码是用来检测walls 也就是墙壁和你的元件是否碰撞的并处理碰撞后的方法 的处理方法
walls.hitTest(getBounds(_root).xMax, _y, true);
walls元件是一个movieClip ,也就有.hitTest()这个方法
这个方法有3个参数,(x坐标;y坐标;最后一个是布尔值,如果设置成true的话只要有碰撞就会返回一个true,而设置成false则需要完全重合才会返回一个true)
这样就很明白了:
if (walls.hitTest(getBounds(_root).xMax, _y, true)) {
_x -= 1;
}
的意思就是,检测你的元件的“右上角”的坐标值也就是getBounds(_root).xMax, _y和墙壁是否有接触。
如果有接触就执行_x -= 1;就是你的元件向左移动一个像素
剩下的语句也就都类似了,分别就是检测 “左上角,左下角,右下角”是否和墙壁有碰撞,如果有就相应的退回一点了
希望对你有所帮助
如果还有问题给我留言吧