创建一个Cocos2d-Xproject,project的文件夹例如以下图所看到的:

在Resourcees目录中加入一张png格式的图片

在HelloWorldScene.cpp文件里的bool HelloWorld::init()函数中加入以下的代码

   //初始化父类
if ( !CCLayer::init() )
{
return false;
} //创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png"); //精灵跳跃
//第一个參数:完毕跳跃所花的时间
//第一个參数:跳跃到的位置
//第一个參数:跳跃的高度
//第一个參数:跳跃的次数
sprite->runAction(CCJumpBy::create(60, ccp(0, 0), 100, 100)); //将精灵加到层上
this->addChild(sprite); //将精灵加入到层上
addChild(sprite1); return true;

程序运行结果:(实现了精灵的上下跳动)

在上面的代码以下添加以下的代码实现设置精灵的位置

sprite->setPosition(CCPoint(100, 200));
sprite1->setPosition(CCPoint(300, 200));

运行结果:

在HelloWorldScene.cpp文件里的bool HelloWorld::init()函数中加入以下的代码实现设置比例

  //调用CCLayer的父类的初始化函数
if ( !CCLayer::init() )
{
return false;
} //创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png"); //将精灵加到层上
this->addChild(sprite); //将精灵加到层上
addChild(sprite1); //设置精灵的位置
sprite->setPosition(CCPoint(100, 200));
sprite1->setPosition(CCPoint(300, 200)); //设置比例
sprite->setScale(.5f);
sprite->setScaleX(.5f);
sprite->setScale(2); return true;

运行结果:

在HelloWorldScene.cpp文件里的bool HelloWorld::init()函数中加入以下的代码实现精灵旋转

   //调用CCLayer的父类的初始化函数
if ( !CCLayer::init() )
{
return false;
} //创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png"); //将精灵加到层上
this->addChild(sprite); //将精灵加到层上
addChild(sprite1); //设置精灵的位置
sprite->setPosition(CCPoint(100, 200));
sprite1->setPosition(CCPoint(300, 200)); // setRotation旋转。角度为单位,正数是顺时针,负数是逆时针
sprite->setRotation(-80);
sprite->setRotationY(180); return true;

运行结果:

在HelloWorldScene.cpp文件里的bool HelloWorld::init()函数中加入以下的代码实现精灵扭曲跟精灵在一个平面上旋转差点儿相同

 //调用CCLayer的父类的初始化函数
if ( !CCLayer::init() )
{
return false;
} //创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png"); //将精灵加到层上
this->addChild(sprite); //将精灵加到层上
addChild(sprite1); //设置精灵的位置
sprite->setPosition(CCPoint(100, 200));
sprite1->setPosition(CCPoint(300, 200)); // setSkewX 扭曲,跟单向量的旋转差点儿相同,可是不会颠倒
sprite->setSkewX(180);
sprite1->setRotationX(180); return true;

运行结果:

在HelloWorldScene.cpp文件里的bool HelloWorld::init()函数中加入以下的代码实现精灵扭曲跟精灵在一个平面上旋转差点儿相同

  //调用CCLayer的父类的初始化函数
if ( !CCLayer::init() )
{
return false;
} //创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png"); //将精灵加到层上
this->addChild(sprite); //将精灵加到层上
addChild(sprite1); //设置精灵的位置
sprite->setPosition(CCPoint(100, 200));
sprite1->setPosition(CCPoint(300, 200)); // setFlipX 反转。跟setRotationY(180)效果一样
sprite->setFlipX(true); return true;

运行结果:

在HelloWorldScene.cpp文件里的bool HelloWorld::init()函数中加入以下的代码设置精灵的透明度
//调用CCLayer的父类的初始化函数
if ( !CCLayer::init() )
{
return false;
} //创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png"); //将精灵加到层上
this->addChild(sprite); //将精灵加到层上
addChild(sprite1); //设置精灵的位置
sprite->setPosition(CCPoint(100, 200));
sprite1->setPosition(CCPoint(300, 200)); // setOpacity 透明度 0~255(取值范围),255不透明,0全透明
sprite->setOpacity(128); return true;

运行结果



在HelloWorldScene.cpp文件里的bool HelloWorld::init()函数中加入以下的代码实现隐藏精灵
   //调用CCLayer的父类的初始化函数
if ( !CCLayer::init() )
{
return false;
} //创建精灵
CCSprite* sprite = CCSprite::create("blocks.png");
CCSprite* sprite1 = CCSprite::create("blocks.png"); //将精灵加到层上
this->addChild(sprite); //将精灵加到层上
addChild(sprite1); //设置精灵的位置
sprite->setPosition(CCPoint(100, 200));
sprite1->setPosition(CCPoint(300, 200)); // setVisible 是否可见
sprite->setVisible(false); return true;

运行结果:




在Cocos2d-X中玩转精灵的更多相关文章

  1. 如何在Cocos2D 1.0 中掩饰一个精灵(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 原帖来自Ray Wunderlich写的精彩的文章 How To ...

  2. 如何在Cocos2D游戏中实现A*寻路算法(六)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  3. 可视化(番外篇)——在Eclipse RCP中玩转OpenGL

    最近在看有关Eclipse RCP方面的东西,鉴于Gephi是使用opengl作为绘图引擎,所以,萌生了在Eclipse RCP下添加画布,使用opengl绘图的想法,网上有博文详细介绍这方面的内容, ...

  4. 如何在cocos2d项目中enable ARC

    如何在cocos2d项目中enable ARC 基本思想就是不支持ARC的代码用和支持ARC的分开,通过xcode中设置编译选项,让支持和不支持ARC的代码共存. cocos2d是ios app开发中 ...

  5. 在C#编程中玩转枚举,分享我的EnumHelper。

    在C#编程中玩转枚举,分享我的EnumHelper. 在软件开发过程中,我们经常会为特定的场景下的特定数据定义逻辑意义.比如在用户表中,我们可能会有一个用户状态字段,该字段为整形.如果该字段的值为1则 ...

  6. 如何在Cocos2D游戏中实现A*寻路算法(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  7. Windows新终端中玩转ASCII和Emoji游戏的正确姿势

    Windows新终端中玩转ASCII和Emoji游戏的正确姿势 前一段时间,我搬运了几个Windows Terminal中玩游戏的视频,详情请看 发布在即!来一睹官方团队如何玩转 Windows Te ...

  8. 如何在 Kubernetes 集群中玩转 Fluid + JuiceFS

    作者简介: 吕冬冬,云知声超算平台架构师, 负责大规模分布式机器学习平台架构设计与功能研发,负责深度学习算法应用的优化与 AI 模型加速.研究领域包括高性能计算.分布式文件存储.分布式缓存等. 朱唯唯 ...

  9. 如何在Cocos2D 1.0 中掩饰一个精灵(六)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 掩饰一个精灵:实现代码 打开HelloWorldLayer.m并 ...

随机推荐

  1. EF 批量插入,sqlhelper 批量插入

    需添加一个using System.Linq; 引用 public void BulkInsert<T>(string connection, string tableName, ILis ...

  2. 正则表达式提取String子串

    最近遇到了一个字符串处理的功能,忽然发现了正则表达式的强大,深深的被她的迷人魅力所吸引,以前只是听说,今天亲眼所见,亲身经历,真的彻底折服. 言归正传:java中String类里面封装了很多字符串处理 ...

  3. Caffe FCN:可视化featureMaps和Weights(C++)、获取FCN结果

    为何不使用C++版本FCN获取最后的分割掩模,何必要使用python呢!因此需要获取网络最后层的featureMaps,featureMaps的结果直接对应了segmentation的最终结果,可以直 ...

  4. 使用NSSM将Kibana安装为Windows服务

    Kibana不同于Elasticsearch,前者官方并没有提供安装为系统服务的方法,如果直接运行在生产环境中会尤为麻烦,一旦服务器因故重启就要手动开启,所以将Kibana安装为系统服务非常有必要. ...

  5. GridView中的日期处理

    数字 {0:N2} 12.36  数字 {0:N0} 13  货币 {0:c2} $12.36  货币 {0:c4} $12.3656  货币  "¥{0:N2}"  ¥12.36 ...

  6. ARX中类型强制转换

    比如 克隆 clone, 获得的是一个acrxobject, acrxobject *pobj=pployline->clone(); acdbpolyline *ppoly=acdbpolyl ...

  7. 28 I/O限制的异步操作

    28.2 C#的异步函数 private static async Task<string> IssueClientRequestAsync(string serverName, stri ...

  8. 入口文件 index.php

    一. 运行流程 The index.php serves as the front controller, initializing the base resources needed to run ...

  9. Linux之加密(基于key认证、建立私有云CA)

    对称加密: 一般的加密是用一个密码加密文件,解密用同样的密码,加密解密用一把密钥 非对称加密: 一个密码加密文件,解密却用另外一组密码,意思就是加密解密的密码不一样,其结果就是用这一组密钥中的一个来加 ...

  10. 基本数据类型:布尔型(bool)和空值None

    一.布尔型(bool) 布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断: 一件事情成立就是True,不成立就是False,也可以将bool值归类为数字, 是因 ...