cocos2d(CCSprite 用贝塞尔做抛物线,足球精灵并且同时做旋转放大效果)
今天刚学到Cocos2d中的动作哪一张,自己做了一个用贝塞尔曲线足球精灵实现同时放大旋转和抛物线动作。
使用
[CCSpawn actions:,,]链接这几个动作,同时做。与CCSequence(一个动作做完然后做另一个)不同;
直接上代码,很简单。
-(id) init
{
// always call "super" init
// Apple recommends to re-assign "self" with the "super's" return value
if( (self=[super init]) ) {
CGSize winSize=[CCDirector sharedDirector].winSize; //添加背景图片。。。。。。。。。。。
CCSprite *bgImage=[CCSprite spriteWithFile:@"background.jpg"];
// [bgImage setAnchorPoint:CGPointZero];
bgImage.position=ccp(winSize.width/2, winSize.height/2);
[bgImage setScaleX:winSize.width/bgImage.texture.contentSize.width];
[bgImage setScaleY:winSize.height/bgImage.texture.contentSize.height]; //添加 炮炮兵。。。。。。。。。。。。。。。。。
CCSprite *paoPao=[CCSprite spriteWithFile:@"paopao.png"];
[paoPao setScale:0.5];
paoPao.position=ccp(winSize.width/2+200, winSize.height/2);
[self addChild:bgImage z:-1];
[self addChild:paoPao z:1];
//移动
//CCAction *moveTo=[CCMoveBy actionWithDuration:2.0f position:ccp(-400, 0)];
//[paoPao runAction:moveTo]; //跳动
[paoPao runAction:[CCJumpTo actionWithDuration:5.0f position:ccp(winSize.width-paoPao.contentSize.width, winSize.height/2) height:100 jumps:3]]; //定义足球精灵......................... CCSprite *ball=[CCSprite spriteWithFile:@"ball.png"];
ball.position=ccp(50, 600); //精灵起始位置
[self addChild:ball z:2];
//贝塞尔曲线
ccBezierConfig c={ccp(600, 200),ccp(200,700),ccp(500,450)}; //定义一个结构体 ,第一个是目标位置,其他两个是控制点,第二个决定高度 CCBezierTo * bezierTo=[CCBezierTo actionWithDuration:6.0 bezier:c]; //旋转
CCRotateTo *actionRotate =[CCRotateTo actionWithDuration:6 angle:1200];//旋转1200度
//放大
CCScaleTo *scalTo=[CCScaleTo actionWithDuration:6 scale:2.5]; //fa //将三个动作封装成一个同时播放进行的动作 CCAction * action = [CCSpawn actions:bezierTo, actionRotate,scalTo, nil];
[ball runAction:action]; }
return self;
}
运行结果:
cocos2d(CCSprite 用贝塞尔做抛物线,足球精灵并且同时做旋转放大效果)的更多相关文章
- cocos2d-x开发记录:二,基本概念(导演,场景,层和精灵,场景切换,效果)
四,Director Scene Layer和Sprite(导演,场景,层和精灵) 1.Scenes(场景) 一个场景 (用CCScene对象实现)相当于APP工作流的独立部分.一些人也喜欢叫做“屏幕 ...
- java那些小事---用偶数做判断,不要用基数做判断
今天做项目遇到这样一个奇葩问题:我们先看如下代码: int ftcs = dealFtcs(ftcs); if(ftcs % 2 == 1){ //奇数 /* * 处理..... */ } ...
- sshpass做秘钥分发,ansible做自动化运维工具
最近公司机器的增多,顺便还要上报表系统,考虑到服务器越来越多,手工的管理显得越来的越吃力,所以打算推进公司自动化运维工具的使用. 推进的过程中,一步一个坑踩过来的.由于公司之前未运用过自动化运维工具, ...
- 当我们有多个类 继承同一个父类 这时候使用多态时候 可以使用该父类的类型做引用 不需要将object做引用
当我们有多个类 继承同一个父类 这时候使用多态时候 可以使用该父类的类型做引用 不需要将object做引用
- ARMv7处理器各个模式之间是怎样切换的?模式切换时上下文的保存哪些是硬件在做?哪些是操作系统在做?
1.ARM处理器各个模式之间是怎样切换的? 答:除用户模式外的其它6种模式称为特权模式,这些模式中,程序能够訪问全部系统资源,也能够随意进行处理器模式的切换.处理器模式能够通过软件控制进行切换(直接设 ...
- 没有局域网环境,全是公网IP可以做LVS吗,该如何做了!请大家赐教!
没有局域网环境,全是公网IP可以做LVS吗,该如何做了!请大家赐教! 由 wjjava 在 周四, -- : 提交 LVS集群 现在有3台服务器,各有一个公网IP地址.IP地址形式如下: IP1:12 ...
- 做什么职业,也别做程序员,尤其是Java程序员
千万别做程序员,尤其别做Java这种门槛低,入门快的程序员(别跟我说Java搞精通了也很牛之类的,原因不解释,做5年以上就知道了),程序员本来就是我见过最坑爹的职业了...Java程序员更是,现在满地 ...
- cocos2d(CCSprite绑定不规则刚体与精灵一起移动)
对于不规则的精灵我们可以借助PhysicsEditor来制作shape , 对于地图可以使用Tiled软件制作瓷砖地图. 今天主要记录一下如何把CCSprite与不规则刚体进行绑定,然后一起移动 // ...
- cocos2d - CCSprite各种动画
转自 ITeye技术网站 // 触摸屏 -(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { for( UITouc ...
随机推荐
- Android学习----异常(2):Please ensure that adb is correctly located at ' ... '
打开任务管理器,在后台进程中找到 kadb,结束这个进程,重新启动eclipse.
- 小强HTML5手机发展之路(52)——jquerymobile触摸互动
当使用移动设备的触摸操作,最常用的是点击.按住屏幕或手势,jQuery Mobile能够通过触摸事件绑定行为来响应用户的特定触摸. 一个.点击并按住 直接在代码(在代码中的一切,它使产品!) < ...
- 2014年辛星jquery解读第二节
*************jquery的语法****************** 1.jquery是通过选取HTML元素,而且对选取的元素运行某些操作,从而完毕某些特效的. 2.因此,我们在使用jQu ...
- hive union all 使用
功能:将两个表中的 同样的字段拼接到一起 測试: create external table IF NOT EXISTS temp_uniontest_ta ( a1 string, a2 strin ...
- GDI+学问------ 绘制可变角度的色彩渐变效果
GDI+ 它是GDI(Windows 图形设备接口提供的早期版本)也许是版本号,它是Microsoft Windows XP作系统即兴许版本号的图形显示技术. 它已经集成到了.Net开发环境中.所以无 ...
- JS全选功能代码优化
原文:JS全选功能代码优化 JS全选功能代码优化 最近在看javascript MVC那本书,也感觉到自己写的代码也并不优雅,所以一直在想 用另一种模式来编写JS代码,所以针对之前的简单的JS全选功能 ...
- Android自己定义控件系列五:自己定义绚丽水波纹效果
尊重原创!转载请注明出处:http://blog.csdn.net/cyp331203/article/details/41114551 今天我们来利用Android自己定义控件实现一个比較有趣的效果 ...
- 前端开发——移动bug整理
1.ios下jquery的delegate失效问题? 解决方案: $("body").delegate(...) 改为 $(".item").delegate( ...
- Android注入事件的三种方法比较
方法1:使用内部APIs 该方法和其他所有内部没有向外正式公布的APIs一样存在它自己的风险.原理是通过获得WindowManager的一个实例来访问injectKeyEvent/injectPoin ...
- Java堆栈(转)
Java栈与堆 ----对这两个概念的不明好久,最终找到一篇好文,拿来共享 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自己主动管理栈和堆, ...