cocos2d实现精灵在屏幕上随机的运动
来源:互联网 发布:招商网络推广方案 编辑:程序博客网 时间:2024/04/30 21:59
继续进行cocos2d的学习,每天学到一点东西都有一点小成就感,这个小问题困惑了我很久,不过好在我解决了它
下面来看看代码的片段吧,希望对你们有所帮助
-(id)init{ if(self = [super init]) { //在这里面声明精灵类,定义精灵初始位置,并加入层中 for(int i = 0 ; i<numberOfBalloon;i++) { //声明精灵 CCSprite *ballon = [CCSprite spriteWithFile:@"balloon.png"]; //定义精灵的初始位置 ballon.position =CGPointMake([ballon texture].contentSize.width*i+ [ballon texture].contentSize.width*0.5f,- [ballon texture].contentSize.height); //将精灵添加到层中 [self addChild:ballon z:0 tag:2]; //把精灵都添加到数组中,因为我这里是需用到多个精灵 [ballonarray addObject:ballon]; } [self scheduleUpdate]; } return self; }-(void) update: (ccTime) dt{ for(int i=0;i<[ballonarray count];i++) { //遍历数组中的精灵 CCSprite *ballon = [ballonarray objectAtIndex:i]; //如果没有精灵运动的话就执行下面的语句 if([ballon numberOfRunningActions]==0) { CGSize size = [[CCDirector sharedDirector]winSize]; //定义精灵的位置为随机位置 CGPoint position = CGPointMake(size.width*CCRANDOM_0_1() -ballon.contentSize.width/2, size.height*CCRANDOM_0_1() -ballon.contentSize.width/2); //限制精灵的运动范围不让其出界 if(position.x<ballon.contentSize.width/2) { position.x = ballon.contentSize.width/2; } if(position.y<ballon.contentSize.height/2) { position.y = ballon.contentSize.height/2; } float time = ccpDistance(position, ballon.position)/speed; //表示在time这个时间段内移动到position这个位置,因为是在update中运行的 //这个方法,所以精灵会一直的重复这个动作,并且不会有明显的间断 id actions = [CCMoveTo actionWithDuration:time position:position]; [ballon runAction:actions]; } }}
还有一个问题就是精灵碰撞后会弹开,这个问题一直没实现,如果那位有类似的项目做过,欢迎交流
- cocos2d实现精灵在屏幕上随机的运动
- quick-cocos2d-x(lua) 拖动精灵使其在屏幕移动的效果实现
- cocos2d-x-3.2 Follow屏幕锁定精灵运动
- Android Animation实现元素在屏幕上按照指定轨迹运动,以及出现NullPointerException的解决方案
- cocos2d--仿真树叶飘落效果的实现(精灵旋转、翻转、钟摆运动等综合运用)
- cocos2d-x 精灵相对屏幕的坐标
- cocos2d-x ActionManager控制精灵的暂停运动
- 小球在屏幕上随机移动
- 精灵在TiledMap中运动
- 在安霸平台上实现运动侦测的功能
- 屏幕录制在h323上的实现
- Cocos2d-x实现精灵的拖动
- cocos2D-x关于精灵框架的实现
- unity中让一个精灵在屏幕上跟随鼠标
- 在cocos2d里拖拽精灵
- 【Cocos2d-x】使用贝塞尔曲线(Bezier)实现精灵抛物线运动
- Cocos2d-x 在屏幕上渲染文字
- Cocos2d-x 在屏幕上渲染文字
- vmware+ubuntu及上网设置
- ssh(struts2.3.8+spring3.2+heibernate4.1+annotation零配置
- sed简明教程
- 如何更新当前记录的某个字段等于本记录的某个字段+上一条记录的某字段之和 .
- 苹果是不是低估了三星所带来的威胁?
- cocos2d实现精灵在屏幕上随机的运动
- android http协议post请求方式
- java一款支持批量上传的代码示例
- 平板电脑这一年
- 每个程序员都应该了解的内存知识【第一部分】
- 如何更新当前记录的某个字段等于本记录的某个字段+上一条记录的某字段之和 .
- android语音识别技术
- useful websites
- Oracle学习笔记——子程序和包