cocos2d笔记——CCNode与CCAction
CCNode
CCNode是所有node的基类,它是一个抽象类,没有可视化表示形式,定义了所有node共有的属性和方法。
操作子节点的一些方法:
CCNode* childNode = [CCNode node];//创建一个新节点
[myNode addChild:childNode z:0 tag:123];//添加子节点
CCNode* retrievedNode = [myNode getChildByTag:123];//根据标签取得节点
[myNode removeChildByTag:123 cleanup:YES];//根据标签删除子节点,cleanup会删除所有正在运行的动作
[myNode removeChild:retrieveNode];//根据指向子结点的指针删除本子节点
[myNode removeAllChildrenWithCleanup:YES];//删除所有子节点
[myNode removeFromParentAndCleanup:YES];//从父节点中删除myNode
Action 动作
节点可以有动作,以后会提到。现在制止到动作可以包括移动、旋转、放大缩小和其他随时间推移做一些事。
CCAction* action= [CCBlink actionWithDuration:10 blinks:20];//动作声明,一个闪烁动作
[myNode runAction:action];//让节点闪烁
CCAction* retrievedAction = [myNode getActionByTag:234];//根据标签取得节点
[myNode stopActionByTag:234];//根据标签停止动作
[myNode stopAction:action];//根据指针停止动作
[myNode stopAllActions];//停止本节点的一切动作
Scheduled Message 定时消息
节点可以触发定时消息。很多情况下,你需要一个特定的更新方法以运行在某个结点上进行一些处理,比如冲突检测。最简单的方法就是像下面这样在每一帧都定期调用方法:
[self scheduleUpdate];
}
-(void) update:(ccTime)delta{
//此方法在每一帧都调用
}
非常简单是吧?注意update有一个固定的特征,意思是它一直用此方式定义。参数delta是代表从上次调用后过去的时间。这是每帧都定时触发更新的首选方式,不过有些情况下也会使用一些更灵活的更新方法。
如果你需要一个不同的方法,或者你不想让这个方法每帧调用而是每十分之一秒调用,那就需要用下面这个:
[self schedule:@selector(updateTenTimesPerSecond:) interval:0.1f];
}
-(void) updateTenTimesPerSecond:(ccTime)delta{
//this method is called according to its interval, ten times per second
}
cocos2d笔记——CCNode与CCAction相关推荐
- cocos2d笔记——解析HelloWorldScene
HelloWorldScene类是纯coocs2d代码显示Hello World标签的地方.在开始深入这个之前,你要先明白cocos2d使用了一个CCNode对象层级来确定在什么地方显示什么东西.所有 ...
- cocos2D(九)---- CCAction
之前介绍CCNode的时候说过,动作是指在特定时间内完毕移动.缩放.旋转等操作的行为,节点能够通过执行动作来实现动画效果,这里的动作就是指CCAction对象,它有非常多的子类,每一个子类都封装了不同 ...
- cocos2d笔记 (4)cocos2d里的各种动作
通常调用某个动作的方法: // 创建动作id actionTo = [CCMoveTo actionWithDuration: 2 position:ccp(s.width-40, s.height ...
- cocos2d学习笔记第四章 粒子效果及座标系
请先保证fire.png文件在工程中存在, 因为cocos2D的粒子系统需要使用,否则颜色无变化,只会显示黑方框. 1. 使用自带的粒子效果来实现指弹打中敌人后的喷血效果 CCParticleSyst ...
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第二十一课:Cocos2D-X网格特效1-3
[麦可网]Cocos2d-X跨平台游戏开发---学习笔记 第二十一课:Cocos2D-X网格特效1-3 ================================================ ...
- Cocos2d游戏开发学习记录——4.开发《植物大战僵尸》
文章目录 1.植物大战僵尸 2.开发前导 3.载入页面 4.菜单页面 & 预备战斗页面 5.植物准备页面 6.正式战斗页面 7.战斗逻辑 8.向日葵逻辑 9.进度条逻辑 10.音乐逻辑 11. ...
- Cocos2D-Android-1之源码详解:2.ActionManagerTest
//现在我们开始注释,他的第一个activity package org.cocos2d.tests; import org.cocos2d.actions.CCActionManager; impo ...
- cocos2d-x中的动作分析
在cocos2d-x中动作的执行调度是受cocos2d-x的全局定时器控制的,当初始完导演后便已经启动用于管理动作的update定时器. bool CCDirector::init(void) {.. ...
- 【步兵 cocos2dx】四叉树碰撞算法
[步兵 cocos2dx]四叉树碰撞算法 by EOS. 四叉树碰撞网上例子不少,自己也观摩了一下,然后自己写了一个. 并不是想证明自己写的比别人好,不自己写一遍,总感觉自己不认识它. 写过之后感觉, ...
最新文章
- 网络营销外包——改善企业网站排名现状网络营销外包少不了
- spring 配置文件 数据库引入
- 如何查看dll被那个service占用_不小心执行 rm -f,该如何恢复?
- ASP.NET跨页面传值技巧总结
- hdu 6026 Deleting Edges(最短路计数)
- 在uipath_UiPath狂欢节Day 3——国内超级企业CFO大咖RPA案例分享!
- 使用Dev-C++查看vector数组中的变量值
- 【转】Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)...
- 二十三 常量池作为同步对象可能造成困惑
- php分城市的源码,userlist.php 源代码在线查看 - 城市分类信息,门户网站,我做为地方信息网 资源下载 虫虫电子下载站...
- python教材答案第四章_第四章-习题答案
- 【转】MapGISnbsp;K9基础系…
- 为什么说全球变暖不是阴谋论
- python鼠标移动的方法_python自动化之鼠标移动
- python—scrapy框架爬虫—链家二手房数据
- python给excel添加超链接_《python3教程》 python用xlwt,超链接到另一sheet,如何设置HYPERLINK...
- 把撒哈拉沙漠变成一个太阳能农场,这可能吗?
- 罗克韦尔AB PLC安装Studio5000提示未安装Microsoft .NET Framework 3.5的解决方法
- mybatis错误:Could not resolve resource location pattern [classpath:com/demon/user/mapper/*.xml]: class
- Javascript对象相加
热门文章
- Laravel 框架安装
- 菜鸟学Java(二十一)——如何更好的进行单元测试——JUnit
- 由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起
- 限时抢订!价值4800元TechNet Plus赠阅一年!今天己到哈~~~
- centos6 安装 mantisbt-1.2.8 —— (1) VMware Workstation 12 Pro 虚拟机安装步骤详解(window 10 系统)
- 学JS的心路历程Day28 - PixiJS -基础(二)
- 动态调用WebService
- Java-JUC(一):volatile引入
- webpack安装和配置
- 看人装X,我就来气,开启极限装X模式