cocos2d-x Action】的更多相关文章

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上回说到解决办法是使用CCTargetedAction类. CCTargetedAction是一个很神奇的类,它本身没有什么动作效果,但是它可以把一个动作和一个特定目标绑定起来,并且返回一个新的Action,我们就可以按需要操作这个新的动作了. 不过该类在Cocos2d-x中和Cocos2d-2.x中才存在,而本猫使用的Cocos2d的版本为最新的3.4.9.…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 大家对Cocos2d中动作的使用大概都很清楚了,其实本身action的概念也不复杂. 但是在某些情况下,一般的动作不能满足我们需求的时候,我们就必须使用更高级的Action方法来解决问题. 比如,串行化(不是序列化哦,这是两个完全不同的概念)不同Action的执行-有些童鞋可能会说很简单,直接用CCActionSequence不就结了,但是等等我还没说完-这些…
这些动画貌似都非常多的样子,就所有都创建一次. 代码例如以下: /* 动画*/ auto sp = Sprite::create("card_bg_big_26.jpg"); Size size = Director::getInstance()->getWinSize(); sp->setScale(0.2); sp->setPosition(Vec2(size.width / 2 + 200, size.height / 2 + 200)); sp->set…
使用unity3d对于一些可视化强迫者来说,是一个不错的选择,但unity3d没有cocos2d的action管理机制,比如cocos2dx的CCMoveTo,CCScale等action,所以笔者通过封装action管理来实现类似cocos2dx的actionmanager. 首先需要写一个ActionManager来创建.更新.移除所有action.编写代码实现如下: using UnityEngine;using System.Collections;using System; publi…
喜欢Four这个项目,就赶快在GitHub上Star这个项目吧! 喜欢我的文章,来微博关注我吧:王选易在学C艹 点我下载 项目起源 项目Logo: 下面是该游戏的项目地址,各位想参考源代码的同学可以到我的GitHub上下载该项目的源码. 项目主页 GitHub地址 bug反馈及建议 我做这个项目的原始目的是实验MVC在游戏中的应用. Model-View-Controller(MVC)是一种组合设计模式,它体现了一种关注点分离(Separation of concerns,SoC)的思想.MVC…
在cocos2d里面,通过Node的方式,将整个场景以及里面的object给组织起来,这样很容易画了,从root node开始遍历,把整棵树画出来就是了. 剩下就是animation,timer, 还有mouse, touch,keyboard的 事件的处理.在cocos2d里面提供了三个模块来管理这些,schedule负责timer和 animation的驱动,Action则负责改变对象的参数实现一些动画效果.还有event dispatcher负责事件的分发. Schedule cocos2…
Action示例: 1.移动动作 cc.MoveBy:create(time, posX, posY)  在time时间内,相对当前位置基础上移动x,y个单位. cc.MoveTo:create(time, posX, posY)  在time时间内,移动到cc.p(posX, posY)位置. 2.缩放动作 cc.ScaleBy:create(time, scaleX, scaleY) 在time时间内,相对当前大小缩放scale(scaleX, scaleY)个单位 cc.ScaleTo:c…
cocos2D v2.x中有带参数的回调block: id blk = [CCCallBlockN actionWithBlock:^(CCNode *node){ node.position = orign; }]; 不过到了cocos2D v3.x中只有CCActionCallBlock一种block回调了,如果需要像以前那样传递参数,可以通过局部外围变量的方法,如下: CCNode *node = myNode; id blk = [CCActionCallBlock actionWith…
当点击的时候,如果不是按照开始点击计算的,那么持续点击会导致不会变大. void Piece::setActived(bool active) { _actived = active; CCAction *scale; if (_actived) { scale = CCScaleTo::create(0.2, 1.2); } else { scale = CCScaleTo::create(0.2, 1); } this->runAction(scale); } void Piece::set…
Action是cocos2d-x中比较重要的概念,有一个庞大的类族.参见老G写的cocos2d-x学习笔记09:动作2:持续动作 除了各种包装器,剩下的主要是一些持续动作: CCMoveTo:移动到.CCMoveBy:按……移动CCJumpTo:跳跃到.CCJumpBy:按……跳跃CCBezierTo:贝兹移动到.CCBezierBy:按……贝兹移动CCRotateTo:旋转到.CCRotateBy:按……旋转CCScaleTo:缩放到.CCScaleBy:按……缩放CCSkewTo:切变到.C…
// // TestLayer.h // MiniTD // // Created by OnePiece on 12-7-30. // Copyright 2012年 __MyCompanyName__. All rights reserved. // #import <Foundation/Foundation.h> #import "cocos2d.h" #import "CCCrack.h" @interface TestLayer : CCNo…
在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个非常有意义的话题:"请简单地讲述你认为新手cocos2d程序员在他开始编码之前,最应该先知道,或者应该关注和注意的事项."这个问题的答案很多,有人讲是"如何加载和保存游戏数据",有人讲的是"如何实现有限状态机"等等.而最吸引我的则是,有一…
译者: 在我完成第一个游戏项目的时候,我深切地意识到“使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰”.而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个非常有意义的话题:“请简单地讲述你认为新手cocos2d程序员在他开始编码之前,最应该先知道,或者应该关注和注意的事项.”这个问题的答案很多,有人讲是“如何加载和保存游戏数据”,有人讲的是“如何实现有限状态机”等等.而最吸引我的则是,有一个人讲到,新手cocos2d程序员或者新手cocoa程序,他们…
免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作! 前言:这篇文章是我翻译的第一篇关于cocos2d的文章,我在翻译的时候尽量按原文意思来,但难免会加入自己一些理解进去.还有这篇文章所采用的xcode版本是3.2.5,用xcode4.0的朋友可能实现起来有点出入,我会在文章的最后给出解决办法. 文章原来出处:http://www.raywende…
本章直接上源代码.内容不难,主要就是 HelloWorldScene.h文件: #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" class HelloWorld : public cocos2d::Layer { protected: float _angle; cocos2d::Vec2 _vec; public: static cocos2d::Scene* cre…
下载Cocos2d-android的源代码:cocos2d-android-1 git@github.com:ZhouWeikuan/cocos2d.git 将项目导入到eclipse中.运行实例: 1.首先创建一个android项目,然后将lib导入到项目中 2.对MainActivity.java编写 1)首先创建一个view对象 private CCGLSurfaceView view = null; 2)取得 CCDirector 对象 CCDirector director = CCD…
在第一节中简单介绍了2d项目模板HelloWorld的基础代码,并做了一点小小的改变,像触摸接收.旋转.移动和颜色转变序列CCSequence的使用等等,2d本身封装好了很多方便使用的动作,只需要调用即可,那么这节就来了解更多的方法,并去熟悉我们学过的方法. 单例:cocos2d很好的利用了单例设计模式,单例是在程序生命周期里只被实例化过一次的类,为了确保这一点,我们利用类的一个静态方法来生成和访问对象,就是我们已经见过的的以“shared”开头的方法,而不是用 alloc/init初始化方法.…
转自:http://codingnow.cn/cocos2d-x/775.html 从结构图可以看出,动作类的基类是CCAction,通过继承它可以实现很多种动作. CCFiniteTimeAction:有限次动作执行类,就是按时间顺序执行一系列动作,执行完后动作结束: CCSpeed:调整实体(节点)的执行速度: CCFollow:可以使节点跟随指定的另一个节点移动. 下面我们主要来学习CCFiniteTimeAction,这个类在平常的开发中很常见. CCFiniteTimeAction又分…
从本质上说,Cocos2d是一个图形引擎,封装了复杂的图形接口,通过抽象出精灵.动作等概念,降低了游戏开发难度,简化了开发过程.Cocos2d-x为保证游戏能方便地移植到不同平台上,又在此基础上做了很多扩展,包括一套Objective-C风格的基础类系.平台无关的多点触摸协议.重力感应和音频系统等. 接下来,我们将简单介绍一下Cocos2d的特性. 流程控制(flow control):非常容易管理不同场景(scene)之间的流程控制. 精灵(sprite):快速而方便的精灵用于显示一切可见的元…
译者: 在我完成第一个游戏项目的时候,我深切地意识到“使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰”.而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个非常有意义的话题:“请简单地讲述你认为新手cocos2d程序员在他开始编码之前,最应该先知道,或者应该关注和注意的事项.”这个问题的答案很多,有人讲是“如何加载和保存游戏数据”,有人讲的是“如何实现有限状态机”等等.而最吸引我的则是,有一个人讲到,新手cocos2d程序员或者新手cocoa程序,他们…
从最初的:http://www.himigame.com/iphone-cocos2d/1043.html 译者: 在我完毕第一个游戏项目的时候.我深切地意识到"使用cocos2d来制作游戏的开发人员们,他们大多会被cocos2d的内存问题所困扰".而我刚開始接触cocos2d的时候,社区里面的人们讨论了一个非常有意义的话题:"请简单地讲述你觉得新手cocos2d程序猿在他開始编码之前,最应该先知道,或者应该关注和注意的事项."这个问题的答案非常多,有人讲是&quo…
CCDirector的主要作用: 1.访问和改变场景: 2.访问cocos2d-x的配置细节 3.访问视图(OPENGL,UIVIEW,UIWINDOW): 4.暂停,恢复和结束游戏: 5.在UIKit和OpenGL之间切换坐标 CCNode 常用API: 1.生成一个新的节点: CCNode*childNoe = CCNode::create(); 2.将新节点添加为子节点 myNode>addChile(childNode,0,123); //0是层级,123是tag属性 3.获取子节点:…
1.效果图 艺术与规划说他想与我合作在全国率先主角光环加,椭圆形走动. cocos2d自带没有,參考网上的写了一个. 2.椭圆数学知识 有关椭圆的数学知识我已经忘光了.网上找了点资料: a是椭圆的长半轴,b是椭圆的短半轴. o是角度,范围是[0, 2π]. 我们须要知道椭圆上的位置,能够用以下的公式: 3.直接代码了.. OvalActionInterval.h #ifndef __JumpGame__OvalInterval__ #define __JumpGame__OvalInterval…
原文:Learning Cocos2d-x for WP8(8)--动作Action 游戏很大程度上是由动作画面支撑起来的. 动作分为两大类:瞬间动作和延时动作. 瞬间动作基本等同于设置节点的属性,延时动作会执行一段时间,不需要清除这两种动作,一旦动作完成,就会从节点上清除并释放所占内存. 封装CCSpriteBatchNode的使用方法 BatchAnimatitonSprite CCSprite* SpriteActionLayer::BatchAnimatitonSprite(CCLaye…
本将主要介绍下CCNode这个类.CCNode是全部节点的基类,当中包含我们经常使用的CCScene(场景).CCLayer(图层).CCSprite(精灵)等.它是一个不可以可视化显示的抽象类,仅仅是用来定义全部节点的公共属性和方法的.本讲纯粹是理论. 首先来看看CCNode的继承结构图,仅仅列举了经常使用的类 节点的处理 1.创建一个新的节点 [java] view plaincopy CCNode *node = [CCNode node]; 2.加入子节点 [java] view pla…
原版的:http://www.koboldtouch.com/display/IDCAR/Four+Ways+of+Scrolling+with+Cocos2D There are two classes of scrolling, "fake" and "real". Altogether there are four ways to create a scrolling view in Cocos2D: with CCCamera, with CCFollow,…
本文实践自 Ray Wenderlich.Tony Dahbura 的文章<How to Use Animations and Sprite Sheets in Cocos2D 2.X>,原文链接http://www.raywenderlich.com/32045/how-to-use-animations-and-sprite-sheets-in-cocos2d-2-x .在这篇文章,将会学习到怎样创建一个简单的熊行走动画,怎样使用精灵表单,怎样改变熊行走的方向等等. 教程截图: 让我们首先…
背景图片循环滚动 使用action 实现的: 主要有两个背景图片交替循环滚动:我选的两个背景图片的宽度都是1024的 ,所以定义了#define BGIMG_WIDTH 1024 代码如下: 在HelloWorld.h的头文件中声明两个背景图片精灵 #import "cocos2d.h" // HelloWorldLayer @interface HelloWorldLayer : CCLayer { CCSprite *bagSprite1; CCSprite *bagSprite2…
今天刚学到Cocos2d中的动作哪一张,自己做了一个用贝塞尔曲线足球精灵实现同时放大旋转和抛物线动作. 使用 [CCSpawn actions:,,]链接这几个动作,同时做.与CCSequence(一个动作做完然后做另一个)不同: 直接上代码,很简单. -(id) init { // always call "super" init // Apple recommends to re-assign "self" with the "super's"…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在Cocos2D中对于并发Action的处理可以使用CCActionSpawn来完成,默认的我们还可以使用自然的方式,比如两次调用runAction来实现相同的效果,比如: target.runAction(action1) target.runAction(action2) 以上代码和使用CCActionSpawn效果是相同的,不过使用后者从代码上看…