cocos2d-x 主角向任意方向使其同速移动的实现方法
2013-04-14 16:55
477 查看
//主角向任意方向使其同速移动函数 player为主角 targetPosition为要移动到的点 void HelloWorld::playerMove() { //获取在x轴方向上两点之间距离 float x_juli = fabs(targetPosition.x - player->getPositionX()); //获取在y轴方向上两点之间距离 float y_juli = fabs(targetPosition.y - player->getPositionY()); //获取两点之间的距离 float distance = sqrt(pow(x_juli, 2) + pow(y_juli, 2)); //设置任意方向上移动速度为1 float speed = 1; //根据比例获取在x轴y轴上不同的速度 float speedX = x_juli/distance * speed; float speedY = y_juli/distance * speed; if (player->getPositionX() < targetPosition.x) { player->setPosition(ccpAdd(player->getPosition(), ccp(speedX, 0))); } if (player->getPositionX() > targetPosition.x) { player->setPosition(ccpAdd(player->getPosition(), ccp(-speedX, 0))); } if (player->getPositionY() < targetPosition.y) { player->setPosition(ccpAdd(player->getPosition(), ccp(0, speedY))); } if (player->getPositionY() > targetPosition.y){ player->setPosition(ccpAdd(player->getPosition(), ccp(0, -speedY))); } }
相关文章推荐
- 学习cocos2d-x之路(4)--实现Hero在各个方向移动
- 模拟物体(汽车)任意方向和速度移动平面动画__(使用Qt 实现)
- 关于在cocos2d-x中一个精灵移动到 另外一个地点的实现方法。
- Android实现让图片在屏幕上任意移动的方法(拖拽功能)
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 05.游戏界面 主角飞机的移动
- 任意分布的随机数的产生方法—VC程序实现方法
- 自注册DM(四)CMCC移动DM 实现方法
- iOS中实现imageView任意角度旋转的方法
- winform实现限制及解除鼠标移动范围的方法
- JavaScript简单实现鼠标移动切换图片的方法
- 【转】Silverlight用代码实现对任意控件向4个方向进行3D旋转
- [unity3d]如何实现游戏对象跟随鼠标方向移动
- 无边框窗体移动实现方法
- 利用重写onTouchEvent方法实现view随手指移动效果
- JS和css实现检测移动设备方向的变化并判断横竖屏幕
- 使用C++中string实现任意长度的正小数、整数之间加减法方法实例
- cocos2d 2.x 实现精灵的会移动的遮罩
- iOS tableviewcell左划自定义(带图片)删除按钮,点击任意地方取消删除的巧妙实现方法
- mfc下鼠标拖动画面使视图移动的实现方法,类似浏览PDF时用手型鼠标移动视图的效果
- JQuery移动页面开发之屏幕方向改变与滚屏的实现