碰撞检测(小球与舞台以及挡板碰撞的判断)
2012-12-10 20:57
393 查看
package view { /** * @author zoe * */ import flash.display.Sprite; import flash.events.Event; public class GameScene extends Sprite { private var rect:MoveRect; private var ball:Ball; private var speedX:int; private var speedY:int; private var r:int; public function GameScene() { init(); } private function init():void { rect = new MoveRect(); ball = new Ball(); addChild(rect); addChild(ball) rect.y = 560; ball.x = 300; ball.y = 300; speedX = 5; speedY = 5; r = ball.width/2; } public function useEfHandler():void { addEventListener(Event.ENTER_FRAME,efHandler); } private function efHandler(event:Event):void { rect.x = mouseX - rect.width/2; ball.x += speedX; ball.y += speedY; if(ball.x < r) { speedX = -speedX; } if(ball.x >= this.stage.stageWidth - r) { speedX = -speedX; } if(ball.y < r) { speedY = -speedY; trace(speedY); } if(ball.y >= this.stage.stageHeight - r) { speedY = -speedY; } //之所以全用if,没有else,是因为如果写成if,else if,else if,有一种情况符合走进去后就会完全跳出,当小球位置在四个角,例如同时符合ball.x < r和ball.y < r,就只会走进一种情况然后跳出方法,为了解决这个bug就全写成if。
isHit(); } private function isHit():void { if(ball.hitTestObject(rect)) { // speedX = -speedX;因为碰到下面的挡板X坐标不需要取反的,只有y要变动 speedY = -speedY; } } } }
相关文章推荐
- Unity 如何实现控制主角以及碰撞检测
- 向量运用。扇形(或三角形)碰撞检测判断。 lua代码
- 关于小球碰撞判断的一些问题··在线等
- 跑酷类游戏------quick-Cocos2d-X lua添加瓦片地图、瓦片地图的移动以及碰撞检测
- Box2d_无规则图形的碰撞检测 和 cocos2d_粒子效果制作以及粒子效果的辅助工具
- 场景管理(二):场景上物体间以及物体地图间的碰撞检测(射线碰撞方式检测)
- cocos2d-x 不同层控制精灵以及碰撞检测
- javascript判断碰撞检测
- 滚动背景的制作以及简单的碰撞检测
- iOS 碰撞检测以及事件响应
- 【移动开发】Android游戏开发SurfaceView应用----手指发动小球(小球碰撞检测例子)
- linux shell 编程1文件权限检测、字符串比较判断、数值大小比较、时间获取以及单引号双引号反引号等的使用
- QT按键判断和碰撞检测的问题,紧急求助啊!!!3Q
- libgdx 像素鸟 增加碰撞检测 以及添加管道
- cocos2d-x 2.X demo学习笔记 9 ----Touches 触摸事件 以及碰撞检测
- Space Shooter之子弹和敌人碰撞检测、爆炸特效以及敌人的运动
- libgdx游戏引擎开发笔记(十二)SuperJumper游戏例子的讲解(篇六)---- .游戏主人公创建以及碰撞检测
- IOS_加速计_碰撞检测_小球位置修复_dispatch_once单例
- Android 小球碰撞检测技术