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 定时消息

节点可以触发定时消息。很多情况下,你需要一个特定的更新方法以运行在某个结点上进行一些处理,比如冲突检测。最简单的方法就是像下面这样在每一帧都定期调用方法:

-(void) scheduleUpdates{
[self scheduleUpdate];
}
-(void) update:(ccTime)delta{
//此方法在每一帧都调用
}
复制代码

非常简单是吧?注意update有一个固定的特征,意思是它一直用此方式定义。参数delta是代表从上次调用后过去的时间。这是每帧都定时触发更新的首选方式,不过有些情况下也会使用一些更灵活的更新方法。

如果你需要一个不同的方法,或者你不想让这个方法每帧调用而是每十分之一秒调用,那就需要用下面这个:

-(void) scheduleUpdates{
[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相关推荐

  1. cocos2d笔记——解析HelloWorldScene

    HelloWorldScene类是纯coocs2d代码显示Hello World标签的地方.在开始深入这个之前,你要先明白cocos2d使用了一个CCNode对象层级来确定在什么地方显示什么东西.所有 ...

  2. cocos2D(九)---- CCAction

    之前介绍CCNode的时候说过,动作是指在特定时间内完毕移动.缩放.旋转等操作的行为,节点能够通过执行动作来实现动画效果,这里的动作就是指CCAction对象,它有非常多的子类,每一个子类都封装了不同 ...

  3. cocos2d笔记 (4)cocos2d里的各种动作

    通常调用某个动作的方法:  // 创建动作id actionTo = [CCMoveTo actionWithDuration: 2 position:ccp(s.width-40, s.height ...

  4. cocos2d学习笔记第四章 粒子效果及座标系

    请先保证fire.png文件在工程中存在, 因为cocos2D的粒子系统需要使用,否则颜色无变化,只会显示黑方框. 1. 使用自带的粒子效果来实现指弹打中敌人后的喷血效果 CCParticleSyst ...

  5. 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第二十一课:Cocos2D-X网格特效1-3

    [麦可网]Cocos2d-X跨平台游戏开发---学习笔记 第二十一课:Cocos2D-X网格特效1-3 ================================================ ...

  6. Cocos2d游戏开发学习记录——4.开发《植物大战僵尸》

    文章目录 1.植物大战僵尸 2.开发前导 3.载入页面 4.菜单页面 & 预备战斗页面 5.植物准备页面 6.正式战斗页面 7.战斗逻辑 8.向日葵逻辑 9.进度条逻辑 10.音乐逻辑 11. ...

  7. Cocos2D-Android-1之源码详解:2.ActionManagerTest

    //现在我们开始注释,他的第一个activity package org.cocos2d.tests; import org.cocos2d.actions.CCActionManager; impo ...

  8. cocos2d-x中的动作分析

    在cocos2d-x中动作的执行调度是受cocos2d-x的全局定时器控制的,当初始完导演后便已经启动用于管理动作的update定时器. bool CCDirector::init(void) {.. ...

  9. 【步兵 cocos2dx】四叉树碰撞算法

    [步兵 cocos2dx]四叉树碰撞算法 by EOS. 四叉树碰撞网上例子不少,自己也观摩了一下,然后自己写了一个. 并不是想证明自己写的比别人好,不自己写一遍,总感觉自己不认识它. 写过之后感觉, ...

最新文章

  1. 网络营销外包——改善企业网站排名现状网络营销外包少不了
  2. spring 配置文件 数据库引入
  3. 如何查看dll被那个service占用_不小心执行 rm -f,该如何恢复?
  4. ASP.NET跨页面传值技巧总结
  5. hdu 6026 Deleting Edges(最短路计数)
  6. 在uipath_UiPath狂欢节Day 3——国内超级企业CFO大咖RPA案例分享!
  7. 使用Dev-C++查看vector数组中的变量值
  8. 【转】Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)...
  9. 二十三 常量池作为同步对象可能造成困惑
  10. php分城市的源码,userlist.php 源代码在线查看 - 城市分类信息,门户网站,我做为地方信息网 资源下载 虫虫电子下载站...
  11. python教材答案第四章_第四章-习题答案
  12. 【转】MapGISnbsp;K9基础系…
  13. 为什么说全球变暖不是阴谋论
  14. python鼠标移动的方法_python自动化之鼠标移动
  15. python—scrapy框架爬虫—链家二手房数据
  16. python给excel添加超链接_《python3教程》 python用xlwt,超链接到另一sheet,如何设置HYPERLINK...
  17. 把撒哈拉沙漠变成一个太阳能农场,这可能吗?
  18. 罗克韦尔AB PLC安装Studio5000提示未安装Microsoft .NET Framework 3.5的解决方法
  19. mybatis错误:Could not resolve resource location pattern [classpath:com/demon/user/mapper/*.xml]: class
  20. Javascript对象相加

热门文章

  1. Laravel 框架安装
  2. 菜鸟学Java(二十一)——如何更好的进行单元测试——JUnit
  3. 由init、loadView、viewDidLoad、viewDidUnload、dealloc的关系说起
  4. 限时抢订!价值4800元TechNet Plus赠阅一年!今天己到哈~~~
  5. centos6 安装 mantisbt-1.2.8 —— (1) VMware Workstation 12 Pro 虚拟机安装步骤详解(window 10 系统)
  6. 学JS的心路历程Day28 - PixiJS -基础(二)
  7. 动态调用WebService
  8. Java-JUC(一):volatile引入
  9. webpack安装和配置
  10. 看人装X,我就来气,开启极限装X模式