Cocos2d-x之Node
| 版权声明:本文为博主原创文章,未经博主允许不得转载。

节点是cocosd-x游戏引擎中的重要元素,是其他重要游戏元素的基类,例如,场景Scene,图层Layer,菜单Menu和精灵sprite都是继承节点类Node.
节点类以树形结构表示,可以有子节点和父节点,方便在节点中添加或者删除其他节点,节点在cocosd-x游戏引擎中的常见表现是,场景类scene作为父节点,多个图层Layer添加到场景类中,这些图层可能有背景图层,菜单图层和事件图层等,在图层类Layer中在添加若干个游戏精灵,例如:背景,积分标签,玩家精灵,敌人精灵等。节点类的树形结构图:如右
节点的主要功能:
1).每个节点都可以含有子节点
2).节点可以添加周期性回调的方法
3).节点可以添加动作
节点类使用的情况;
1).需要父节点来管理和控制一批子节点的时候
2).需要自己定义一个在屏幕上显示的对象,这时候让心定义的类继承自Node,当一个类继承自Node时,它将有如下特点:

* 重写初始化的方法和周期性回调方法
* 在时间线上控制回调
* 重写渲染的绘制方法
Node类的主要保护成员:


Node类的主要函数





函数说明:
setRotation(value); 控制节点旋转多少角度

setScale(x,y); 节点的缩放

auto mouse = Sprite::create("mouse.png");
mouse->setPosition(Vec2(visibleSize.width / 3 + origin.x, visibleSize.height / 4 + origin.y));
mouse->setScale(0.5, 0.5);
//设置一个90度角的旋转
mouse->setRotation(90);
this->addChild(mouse, 1);

定时器函数:
scheduleUpdate() 调度"update"方法。
它的优先级将会是0,这个方法将会在每一帧都被调用。 拥有较小优先数值的调度方法将会在有拥用较大优先数值的方法之前被调用。 每一个节点只有一"update"能够被调度(你不能够有2个“update”选择器)。
scheduleUpdateWithPriority() 使用一个自定义优先级调度"update"方法。
这个选择器将会在每一帧被调用。 拥有较小优先数值的调度方法将会在有拥用较大优先数值的方法之前被调用。 每一个节点只有一"update"能够被调度(你不能够有2个“update”选择器)。

runAction();

实现一个mouse闪烁的动作:
auto mouse = Sprite::create("mouse.png");
mouse->setPosition(160,195);
mouse->setScale(0.5, 0.5);
this->addChild(mouse);
//创建一个闪烁的效果;下面代码表示一秒钟闪烁5次
auto blick = Blink::create(1, 5);
//是闪烁重复执行
auto repeat = RepeatForever::create(blick);
//执行动作
mouse->runAction(repeat);

Cocos2d-x之Node的更多相关文章
- Cocos2dx中利用双向链表实现无限循环滚动层
[Qboy原创] 在Cocos2dX 3.0 中已经实现一些牛逼的滚动层,但是对于有一些需要实现循环滚动的要求确没有实现,笔者在前段时间的一个做了一个游戏,需求是实现在少有的(13个)英雄中进行循环滚 ...
- 使用Physics_Body_Editor获得json文件的类
[转自]:http://www.cocoachina.com/bbs/read.php?tid=209290 工具介绍,json文件获得方法,请参考原帖 MyBodyParser.h // // My ...
- cocos2dx 动画控制概要
-------------------------------------------------Cocos2d 播放动画Node : 节点,所有显示容器的基础 Sprite : 使用图片的节点 An ...
- babeljs源码
babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...
- Cocos2D中Node的userObject实例变量使用时一个要注意的地方
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在Cocos2D中,CCNode对象有一个ivar为us ...
- 采用cocos2d-x lua 制作数字滚动效果样例
require "Cocos2d"require "Cocos2dConstants"local testscene = class("testsce ...
- cocos2d触碰例子代码
// // TestLayer.h // MiniTD // // Created by OnePiece on 12-7-30. // Copyright 2012年 __MyCompanyName ...
- 如何优化cocos2d程序的内存使用和程序大小
在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人 ...
- Cocos2d-x 3.2 学习笔记(五)Sprite Node
游戏中最重要的元素Sprite精灵,关于精灵的创建,精灵的控制等等. 涉及到的类Class: AnimationFrame 动画帧. Animation 动画对象:一个用来在精灵对象上表现动画的动画对 ...
- 如何优化cocos2d程序的内存使用和程序大小:第一部分
译者: 在我完成第一个游戏项目的时候,我深切地意识到“使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰”.而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个 ...
随机推荐
- spring boot 尚桂谷学习笔记05 ---Web
------web 开发登录功能------ 修改login.html文件:注意加粗部分为 msg 字符串不为空时候 才进行显示 <!DOCTYPE html> <!-- saved ...
- Cocos2d-x中使用的数据容器类
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 在计算机的数据结构中,有着数组,链表,堆栈,队列,树,图,哈希表等一些结构.在面向对象的语言中,这些结构被封装成了特定的类,而这些类就是容 ...
- Dubbo 系列(07-5)集群容错 - Mock
Dubbo 系列(07-5)集群容错 - Mock [toc] Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 相关文档推荐: Dubbo 实战 - 服务降级 ...
- leetcode.排序.451根据字符出现频率排序-Java
1. 具体题目 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree" 输出: "eert" 解释: 'e'出现两次,'r ...
- python基础--二分查找
# 二分查找 def sort_search(lst,key): """ 二分查找 :param lst: 有序数列 :param key: 要查找的关键值 :retur ...
- Linux.中断处理.入口x86平台entry_32.S
Linux.中断处理.入口x86平台entry_32.S Linux.中断处理.入口x86平台entry_32.S 在保护模式下处理器是通过中断号和IDTR找到中断处理程序的入口地址的.IDTR存的是 ...
- Python之基本的日期与时间转换 datetime、 dateutil模块
简单举例datetime模块 from datetime import timedelta,datetime a = timedelta(days=2, hours=6) b = timedelta( ...
- windows开机自启mysql服务(任务计划程序+XAMPP)
需求:windows开机自启mysql服务 的需求: 相关工具:win10系统中,使用windows自带的任务计划程序 和 XAMPP软件 完成此需求 XAMPP软件介绍:此软件维护了windows中 ...
- macos系统安装nginx
MacOS系统安装软件: macos系统下没有yum和apt-get命令,要安装软件需要使用homebrew. 1.安装homebrew: 安装:/usr/bin/ruby -e "$(cu ...
- SQL笔试题:下面是学生表(student)的结构说明
SQL笔试题:下面是学生表(student)的结构说明 SQL笔试题:下面是学生表(student)的结构说明 字段名称 字段解释 字段类型 字段长度 约束 s_id 学号 字符 10 PK s_na ...