摘要: 前段时间看到国外的网站上有个应用碰撞处理的游戏: 感觉游戏中的碰撞检测效果很酷,所以研究了一下碰撞,前些天也写了一些关于碰撞检测的博文。 其实碰撞处理的关键是要算出物体碰撞后反弹的角度(速度方向),有了这个角度就可以算出碰撞后的速度方向等。 下面是自己这些天研究,做的一个碰撞游戏原型,参考了LUA... 阅读全文
posted @ 2010-08-08 00:32 ywxgod 阅读(1261) 评论(2) 推荐(0) 编辑
摘要: 在《Flash actionScript 3.0 动画教程》一书中有一个旋转公式: x1=cos(angle)*x-sin(angle)*y; y1=cos(angle)*y+sin(angle)*x; 其中x,y表示物体相对于旋转点旋转angle的角度之前的坐标,x1,y1表示物体旋转angle后... 阅读全文
posted @ 2010-08-06 01:25 ywxgod 阅读(53470) 评论(2) 推荐(1) 编辑
摘要: 接着第七部分碰撞检测,检测到碰撞后球体要反弹,根据障碍物的角度,球体的反弹角度也不同。下面是各个角度间的关系图: 修改前面的代码如下: _count = 0; var sumX:Number = 0; var sumY:Number = 0; _ball.vy += GRAVI... 阅读全文
posted @ 2010-07-31 22:16 ywxgod 阅读(678) 评论(0) 推荐(0) 编辑
摘要: 碰撞处理这是个很大的话题,要研究的东西太多了,就我所知,就as3而言它提供了三种方法来检测碰撞,它们是: hitTestPoint,hitTestObject,hitTest 前两个方法是应用于显示对象上的,后面一个用于位图像素级的碰撞检测,具体使用方法帮助文档中有详细介绍的。 关于位图的碰撞检测和... 阅读全文
posted @ 2010-07-31 13:43 ywxgod 阅读(1068) 评论(0) 推荐(0) 编辑
摘要: 接着第五部分障碍物,有时候在某些特别的情况下需要球体能通过某个障碍物,并不是所有的障碍物都需要阻止球体运动,例如有一竖直障碍物当球体从左到右通过时能通过,但从右到左通过时,却不能通过,那该如何做呢?此时最容易想到的是判断球体的运动方向,根据球体前后连个x坐标即可以知道它是从左到右运动还是从右到左运动... 阅读全文
posted @ 2010-07-30 00:54 ywxgod 阅读(741) 评论(0) 推荐(0) 编辑
摘要: 障碍物有的可以运动有的不能运动,如:可以把墙壁看出不能运动的障碍物,移动的另一个球体看出运动的障碍物。运动过程中要检测球体是否与障碍物接触,可以用hitTestObject方法或者hitTestPoint方法。 接着第四部分,修改update函数。在舞台上增加了obstruction1,obstru... 阅读全文
posted @ 2010-07-28 00:50 ywxgod 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 紧接第三部分,现在加上边界,当球体运动碰到边界时,设为初始状态,在场景中放置了一个障碍物,当球体运动碰到障碍物时,随即改变障碍物的位置。 关键代码部分: private function update(e:Event):void { var right:Number = wallRigh... 阅读全文
posted @ 2010-07-27 00:33 ywxgod 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 模拟真实的运动效果,加入摩擦力,重力,风力等。 private function update(e:Event):void { vx += ax; vy += ay; vx *= _friction; vy *= _friction; vy += _gravity; vx += _wind; x... 阅读全文
posted @ 2010-07-26 21:52 ywxgod 阅读(763) 评论(1) 推荐(0) 编辑
摘要: 接着第一部分,将匀速运动变为加速运动,只需修改keyDownHandle、keyUpHandle和update三个函数,在按下不同的方向键时设置不同方向的加速度,且加速度大小相同,这样就是匀加速运动;松开按键时将各个方向的加速度设为0;在update中需要将加速度加到速度上。 priva... 阅读全文
posted @ 2010-07-25 14:46 ywxgod 阅读(915) 评论(0) 推荐(0) 编辑
摘要: 此处只涉及到规则物体的运动!! 先定义一个Ball类继承自MovieClip,用作被移动的对象。定义Ball的x,y方向的速度、加速度,初始值都为0;定义质量,初始值为3; public class Ball extends MovieClip{ private var _power:int ... 阅读全文
posted @ 2010-07-25 12:43 ywxgod 阅读(603) 评论(0) 推荐(0) 编辑