关于Cocos2d-x中节点和精灵的关系以及初始化
1.每一个对象类都有一个自己public的一个create函数(等价于CREATE_FUNC),和init函数。
2.create函数返回的是自身的类型,init函数是在ceate函数被调用的时候自动调用。
3.如果是场景对象类的话,还要public一个 static cocos2d::Scene* createScene();的函数,返回值是Scene类型
如果我们要呈现一个会动的人
1.定义一个对象类,继承自Sprite
3.在init函数中
//执行父类方法
Sprite::init();
//设置精灵节点纹理图案,同时把图片的大小自动赋值给精灵节点的节点大小
setTexture("s_1.png");
//设置精灵节点的整体缩放
setScale(0.2);
//设置精灵节点的物理刚体,以精灵节点的节点大小为刚体大小
setPhysicsBody(PhysicsBody::createBox(this->getContentSize()));
//执行动画
Animation * animation = Animation::create();
animation->addSpriteFrameWithFile("s_1.png");
animation->addSpriteFrameWithFile("s_2.png");
animation->addSpriteFrameWithFile("s_3.png");
animation->addSpriteFrameWithFile("s_4.png");
animation->addSpriteFrameWithFile("s_5.png");
animation->addSpriteFrameWithFile("s_6.png");
animation->setDelayPerUnit(0.1f);
animation->setRestoreOriginalFrame(true);
//设置动画型的动作
auto animate = Animate::create(animation);
this->runAction(RepeatForever::create(animate));
//设置刚体属性
getPhysicsBody()->setRotationEnable(false); //刚体在运动碰撞过程中不旋转
getPhysicsBody()->setContactTestBitmask(1); //刚体参与碰撞检测
getPhysicsBody()->getShape(0)->setFriction(0); //刚体表面摩擦系数为0,无摩擦力
getPhysicsBody()->getShape(0)->setRestitution(0); //刚体表面弹性系数为0,不弹起来
return true;
4.当我们创建一个节点的时候,调用初始化方法,返回了一个包含执行着精灵动画的精灵子节点,这就达到了我们想要的效果,我们可以对精灵节点进行各种操作,设置位置等等。
注意:
当一个节点中包含子节点时,如果对父节点进行操作,子节点也会跟着受影响。
关于Cocos2d-x中节点和精灵的关系以及初始化的更多相关文章
- Cocos2D中节点Z序的计算规则
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交 ...
- 如何在Cocos2D 1.0 中掩饰一个精灵(一)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 原帖来自Ray Wunderlich写的精彩的文章 How To ...
- 关于Cocos2d-x节点和精灵节点的坐标、位置以及大小的设置
1.cocos2d-X中的坐标(0,0),就是运行框的左下角位置,所以运行框看起来就是一个第一象限. 2.节点的锚点就是我们setPosition所设定的位置,默认锚点是在节点的中心,也就是setPo ...
- 如何在cocos2d项目中enable ARC
如何在cocos2d项目中enable ARC 基本思想就是不支持ARC的代码用和支持ARC的分开,通过xcode中设置编译选项,让支持和不支持ARC的代码共存. cocos2d是ios app开发中 ...
- 读取xml文件中节点
/// <summary> /// /// </summary> /// <param name="xmlpath">节点路径</para ...
- 如何在Cocos2D游戏中实现A*寻路算法(六)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- 如何在Cocos2D游戏中实现A*寻路算法(一)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Machine.config 文件中节点<machineKey>的强随机生成
Machine.config 文件中节点<machineKey>的强随机生成 <machineKey>这个节允许你设置用于加密数据和创建数字签名的服务器特定的密钥.ASP.NE ...
- 集群中节点(Node)与单机数据库的区别
集群中节点(Node)与单机数据库的区别: 区别项 集群中节点(Node) 单机数据库 只能使用0号数据库 是 都可以使用
随机推荐
- OAF_OAF控件系列1 - Region Type汇总(概念)
2014-06-22 Created By BaoXinjian
- epoll 系列函数简介、与select、poll 的区别
一.epoll 系列函数简介 #include <sys/epoll.h> int epoll_create(int size); int epoll_create1(int flags) ...
- 项目打成jar包
distributionManagement 为发布到本地参考的地址 repository 设置从本地maven库拉取jar包 <project xmlns:xsi="http://w ...
- SpringCloud 分布式配置
转 http://www.cnblogs.com/zhangjianbin/p/6347247.html 前言 在单体式应用中,我们通常的做法是将配置文件和代码放在一起,这没有什么不妥.当你的应用变得 ...
- Java:多线程,线程同步,synchronized关键字的用法(同步代码块、非静态同步方法、静态同步方法)
关于线程的同步,可以使用synchronized关键字,或者是使用JDK 5中提供的java.util.concurrent.lock包中的Lock对象.本文探讨synchronized关键字. sy ...
- [na][dhcp]华为DHCP-重要
近日遇到遇到控制器和wac对接的一些问题.尤其是地址池这块排查起来比较费事,且这些命令不容易找到,以下是能经常用到的命令. 1,查看ip是否冲突: (看下conflict字段) 2,防止冲突命令: 3 ...
- C++顺序容器vector、deque、list
1.容器元素类型 C++中大多数数据类型能够作为容器的元素类型.容器元素类型必须满足一下两个条件:支持赋值和复制操作. 所以没有元素是引用类型的容器,同一时候IO对象和auto_ptr也不能作为容器的 ...
- CentOS 64位下安装Postfix+Dovecot 配置邮件server笔记
Postfix 和Dovecot功能确实非常强大,支持各种认证方式, 配置非常灵活, 就由于太过于灵活, 反而安装配置的过程中,easy有各种各样的陷阱,碰到问题了. 日志是最好的解决的方法了. ...
- 每日英语:Why Food Companies Are Fascinated by the Way We Eat
Are you a cruncher? Or a 'smoosher'? cruncher:咬嚼者,咬碎 Some people crave the perfectly crispy crunch o ...
- vim 学习日志(6):分屏 sp,vsp,分屏移动
Vim的分屏功能 本篇文章主要教你如何使用 Vim 分屏功能. 分屏启动Vim 使用大写的O参数来垂直分屏. vim -On file1 file2 ... 使用小写的o参数来水平分屏. vim -o ...