// 触摸屏 -(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { for( UITouch *touch in touches ) { CGPoint location = [touch locationInView: [touch view]]; location = [[CCDirector sharedDirector] convertToGL: location]; // 各种动作 // 瞬时动作 // 设置坐标 id action0 = [CCPlace actionWithPosition:ccp(240,160)]; // 隐藏 id action1 = [CCHide action]; // 显示 id action2 = [CCShow action]; // 隐藏/显示 id action3 = [CCToggleVisibility action]; // 延时动作 // 移动 id action4 = [CCMoveTo actionWithDuration:2 position:ccp(0,0)]; id action5 = [CCMoveBy actionWithDuration:2 position:ccp(100,100)]; // 弹跳 id action6 = [CCJumpTo actionWithDuration:2 position:ccp(0,200) height:30 jumps:5]; id action7 = [CCJumpBy actionWithDuration:2 position:ccp(100, 0) height:30 jumps:5]; // 贝塞尔移动 ccBezierConfig bezier; bezier.controlPoint_1 = ccp(0, 0); bezier.controlPoint_2 = ccp(100, 300); bezier.endPosition = ccp(0,100); id action8 = [CCBezierTo actionWithDuration:3 bezier:bezier]; id action9 = [CCBezierBy actionWithDuration:3 bezier:bezier]; // 缩放 id action10 = [CCScaleTo actionWithDuration:2 scale:4]; id action11 = [CCScaleBy actionWithDuration:2 scale:0.5]; // 旋转 id action12 = [CCRotateTo actionWithDuration:2 angle:180]; id action13 = [CCRotateBy actionWithDuration:2 angle:-180]; // 闪烁 id action14 = [CCBlink actionWithDuration:3 blinks:5]; // 色调变化 id action15 = [CCTintTo actionWithDuration:2 red:255 green:0 blue:0]; id action16 = [CCTintBy actionWithDuration:0.5 red:0 green:255 blue:255]; // 淡化到/淡入/淡出 id action17 = [CCFadeTo actionWithDuration: 1 opacity:80]; id action18 = [CCFadeIn actionWithDuration:1.0f]; id action19 = [CCFadeOut actionWithDuration:1.0f]; // 动画顺序播放 CCAnimation *animation = [CCAnimation animation]; [animation setDelay:2]; // 这里就添加两帧,需要自己添加 [animation addFrameWithTexture:sprTest.texture rect:CGRectMake(0, 0, 44, 34)]; [animation addFrameWithTexture:sprTest.texture rect:CGRectMake(0, 34, 44, 34)]; id action20 = [CCAnimate actionWithAnimation: animation]; // 组合动作 // 动画序列 id action21 = [CCSequence actions:action19, action18, nil]; // 重复动作 id action22 = [CCRepeat actionWithAction:action21 times:10]; // 延时动作 id action23 = [CCDelayTime actionWithDuration:1]; // 同时动作 id action24 = [CCSpawn actions:action0, action4, action21, nil]; // 无限循环动作 id action25 = [CCRepeatForever actionWithAction:action21]; // 扩展动作 // 回调动作 id acf0 = [CCCallFunc actionWithTarget:self selector:@selector(CallBack1)]; // 回调动作,传递动画自身指针 id acf1 = [CCCallFuncN actionWithTarget:self selector:@selector(CallBack2:)]; // 回调动作,传递动画自身指针已经一个参数 id acf2 = [CCCallFuncND actionWithTarget:self selector:@selector(CallBack3:data:) data:(void*)2]; id action26 = [CCSequence actions:action19, action18, acf0, action23, action0, nil]; // 反转动作,只能用在有方向有顺序的动作上 id action27 = [action9 reverse]; // 速度变化 //id ac = [CCSequence actions:action9,action27,nil]; id actiontest = [CCMoveBy actionWithDuration:0.5 position:ccp(200,0)]; id ac = [CCSequence actions:actiontest,actiontest, nil]; // 渐快 id action28 = [CCEaseIn actionWithAction:ac rate:3]; // 渐慢 id action29 = [CCEaseOut actionWithAction:ac rate:3]; // 先渐快再渐慢 id action30 = [CCEaseInOut actionWithAction:ac rate:3]; // 正弦波移动 id action31 = [CCEaseSineIn actionWithAction:ac]; id action32 = [CCEaseSineOut actionWithAction:ac]; id action33 = [CCEaseSineInOut actionWithAction:ac]; // 由极慢至极快 id action34 = [CCEaseExponentialIn actionWithAction:ac]; // 由极快到极慢 id action35 = [CCEaseExponentialOut actionWithAction:ac]; // 由极慢至极快 再由极快到慢 id action36 = [CCEaseExponentialInOut actionWithAction:ac]; // 手动设定速度,可通过SetSpeed不断调整 id action37 = [CCSpeed actionWithAction:ac speed:(CCRANDOM_0_1() * 5)]; [sprTest runAction:action37]; } } // 回调函数1 - (void) CallBack1 { [sprTest runAction:[CCTintBy actionWithDuration:2 red:255 green:0 blue:255]]; } // 回调函数2 - (void) CallBack2:(id)sender { [sender runAction:[CCTintBy actionWithDuration:1 red:255 green:0 blue:255]]; } // 回调函数3 -(void) CallBack3:(id)sender data:(void*)data { [sender runAction:[CCTintBy actionWithDuration:(NSInteger)data red:255 green:0 blue:255]]; }
相关推荐
4. **动作和动画**:CCSprite可以执行各种动作,如平移(moveTo)、旋转(rotateTo)、缩放(scaleTo)等。通过组合动作,可以创建复杂的动画效果。`[sprite runAction:[CCMoveTo actionWithDuration:2 position:ccp...
创建好动画后,可以使用CCAnimate动作将其应用到ccsprite上。首先创建CCAnimate对象,然后将其添加到ccsprite的动作堆栈中,使用`runAction()`方法。 ```cpp CCAnimate* animateAction = CCAnimate::create...
首先,创建CCSprite主要涉及两个步骤:加载资源和实例化精灵。资源通常以.png或.jpeg格式存储,可以使用` CCTextureCache::sharedTextureCache()->addImage("your_image_path.png") `加载到纹理缓存中。然后,通过` ...
为了调试和优化游戏,Cocos2d-x提供了一系列工具,如Profiler(性能分析器)用于监控CPU和内存使用情况,Console(控制台)用于实时查看日志信息,以及TestBed(测试床)用于验证新功能。 总的来说,这个"Cocos2d-x...
本篇文章将深度解析“cocos2d-x简易动作游戏”的源代码,帮助读者理解和掌握cocos2d-x在游戏开发中的应用。 首先,我们来看看"acttest"这个压缩包中的核心文件。在cocos2d-x项目中,通常会包含以下几个关键部分: ...
总的来说,Cocos2d-x通过这些组件协同工作,提供了高效的游戏开发环境,允许开发者构建功能丰富的2D游戏,并通过各种工具简化资源管理和场景设计。面试题涵盖了Cocos2d-x的核心概念,对于理解框架的工作原理至关重要...
首先,Cocos2d-x的动作类(CCAction)是游戏开发中的核心组件,它们允许开发者对游戏中的节点(如精灵CCSprite)进行各种操作,如移动、旋转、缩放等。动作类的层次结构如下: 1. CCAction:所有动作的基类,定义了...
CCAction是动作的基类,主要使用CCFiniteTimeAction有限次动作执行,就是按时间顺序执行一系列动作,执行完后动作结束。CCFiniteTimeAction又分为CCActionInstanse瞬时动作的基类和CCActionInterval延时动作的基类。...
如果想要同时进行X轴和Y轴的翻转,可以组合使用`CCFlipX`和`CCFlipY`动作,或者使用`CCSequence`动作来顺序执行多个动作。 4. **添加交互性** 要让玩家能够点击卡牌触发翻转,我们需要监听触摸事件。Cocos2D提供...
第五章主要介绍Cocos2d-x核心技术,这里包括Cocos2d-x的核心类CCDirector、CCScene、CCNode、CCLayer、CCSprite、CCAction等,通过案例来介绍Cocos2d-x的场景、图层、交互、动作、动画、粒子效果、游戏地图、物理...
第五章主要介绍Cocos2d-x核心技术,这里包括Cocos2d-x的核心类CCDirector、CCScene、CCNode、CCLayer、CCSprite、CCAction等,通过案例来介绍Cocos2d-x的场景、图层、交互、动作、动画、粒子效果、游戏地图、物理...
第五章主要介绍Cocos2d-x核心技术,这里包括Cocos2d-x的核心类CCDirector、CCScene、CCNode、CCLayer、CCSprite、CCAction等,通过案例来介绍Cocos2d-x的场景、图层、交互、动作、动画、粒子效果、游戏地图、物理...
在`FlashPluginScript`文件中,可能包含了将Flash与cocos2d-x交互的脚本,例如使用AS3编写Flash插件,将Flash的动画导出为所需的序列帧数据和动作控制逻辑。 在`src`目录下,你可能找到用C++编写的cocos2d-x源代码...
API大全中详细列出了各种类和函数,包括CCNode、CCDirector、CCLayer、CCSprite、CCAction等关键类的用法。例如,CCNode是所有节点类的基类,它提供了基本的位置、旋转、缩放等属性和方法;CCDirector负责管理游戏的...
在Cocos2d-x中,我们可以使用`CCAction`类来创建和管理各种动作,其中包括了翻转效果。`CCFlipX`和`CCFlipY`是两个基本的翻转动作,它们分别实现了沿X轴和Y轴的翻转。然而,为了实现一个完整的卡牌翻转效果,我们...
3. **精灵与图集**:如何创建精灵(`CCSprite`),加载精灵帧数据(使用`.plist`和`.png`文件),以及使用图集(`CCSpriteBatchNode`)优化性能。 4. **动作与动画**:运用Cocos2D的动作系统实现各种动画效果,如`...
本篇我们将深入探讨Cocos2D-X中的动画类的使用,帮助开发者更好地理解和实现游戏中的动态效果。 Cocos2D-X中的动画是通过`CCAnimation`类来实现的。`CCAnimation`包含一系列`CCSpriteFrame`,这些帧可以是单个图片...