[windows+cocos2dx]CCSprite精灵类
序言
回想cocos2dx,之前在mac+Xcode平台学习了一遍cocos2dx,一年时间不接触cocos了。一直在搞Unity3d。如今还是就之前所学温故温故,但不再用Xcode来写。用经常使用的Windows+VS2012做为开发环境来回想cocos2dx。从CCSprite精灵类開始回想起。
CCSprite多种创建方式
if ( !CCLayer::init() )
{
return false;
} CCSize size = CCDirector::sharedDirector()->getWinSize();
//载入精灵
//方式一
CCSprite *sprite = CCSprite::create("icon.png"); //123px*123px的图片
sprite->setPosition(ccp(size.width*0.2,size.height*0.7));
this->addChild(sprite); //方式二
//设置显示区域
CCSprite *sprite1 = CCSprite::create("icon.png",CCRect(0,0,60,60)); //仅仅取60px*60px的图片
sprite1->setPosition(ccp(size.width*0.5,size.height*0.7));
this->addChild(sprite1); //方式三
//创建2d文理来创建精灵
CCTexture2D *texture = CCTextureCache::sharedTextureCache()->addImage("icon.png");
CCSprite *sprite2 = CCSprite::createWithTexture(texture);
sprite2->setPosition(ccp(size.width*0.8,size.height*0.7));
this->addChild(sprite2); //方式四
//还是设置显示区域
CCSprite *sprite3 = CCSprite::createWithTexture(texture,CCRect(61.5,61.5,61.5,61.5));
sprite3->setPosition(ccp(size.width*0.2,size.height*0.3));
this->addChild(sprite3); //方式五
//缓存帧
CCSpriteFrame *frame = CCSpriteFrame::create("icon.png",CCRect(0,0,61.5,61.5));
CCSprite *sprite4 = CCSprite::createWithSpriteFrame(frame);
sprite4->setPosition(ccp(size.width*0.5,size.height*0.3));
this->addChild(sprite4); //方式六
/*CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("img.plist");
CCSprite *sprite5 = CCSprite::createWithSpriteFrameName("icon.png");
sprite5->setPosition(ccp(size.width*0.7,size.height*0.3));
this->addChild(sprite5);*/
CCSprite缩小和放大
//精灵的缩小和放大
CCSprite *spriteS= CCSprite::create("icon.png"); //123px*123px的图片
spriteS->setPosition(ccp(size.width*0.2,size.height*0.5));
spriteS->setScale(0.5f);
this->addChild(spriteS); CCSprite *spriteM = CCSprite::create("icon.png"); //123px*123px的图片
spriteM->setPosition(ccp(size.width*0.7,size.height*0.5));
spriteM->setScale(1.5f);
this->addChild(spriteM);
CCSprite旋转
CCSprite->setRotation();參数是度数,正数代表顺时针旋转多少度,负数代表逆时针旋转多少度。
//精灵的旋转
CCSprite *spriteL= CCSprite::create("icon.png"); //123px*123px的图片
spriteL->setPosition(ccp(size.width*0.3,size.height*0.5));
spriteL->setRotation(30.0f);
this->addChild(spriteL); CCSprite *spriteR= CCSprite::create("icon.png"); //123px*123px的图片
spriteR->setPosition(ccp(size.width*0.8,size.height*0.5));
spriteR->setRotation(-30.0f);
this->addChild(spriteR);
CCSprite倾斜
//精灵的倾斜
CCSprite *spriteL= CCSprite::create("icon.png"); //123px*123px的图片
spriteL->setPosition(ccp(size.width*0.3,size.height*0.5));
spriteL->setSkewY(30.0f);
this->addChild(spriteL); CCSprite *spriteR= CCSprite::create("icon.png"); //123px*123px的图片
spriteR->setPosition(ccp(size.width*0.8,size.height*0.5));
spriteR->setSkewY(-30.0f);
this->addChild(spriteR);
CCSprite设置不可见和变色
//精灵可见和变色
//设置不可见
CCSprite *spriteL= CCSprite::create("icon.png"); //123px*123px的图片
spriteL->setPosition(ccp(size.width*0.3,size.height*0.5));
spriteL->setVisible(false);
this->addChild(spriteL);
//变成红色
CCSprite *spriteR= CCSprite::create("icon.png"); //123px*123px的图片
spriteR->setPosition(ccp(size.width*0.8,size.height*0.5));
spriteR->setColor(ccc3(255,0,0));
this->addChild(spriteR);
CCSprite设置透明度
//设置透明度
CCSprite *spriteL= CCSprite::create("icon.png"); //123px*123px的图片
spriteL->setPosition(ccp(size.width*0.3,size.height*0.5));
spriteL->setOpacity(100);//0~255
this->addChild(spriteL); CCSprite *spriteR= CCSprite::create("icon.png"); //123px*123px的图片
spriteR->setPosition(ccp(size.width*0.7,size.height*0.5));
spriteR->setOpacity(230);//0~255
this->addChild(spriteR);
CCSprite替换图片
//替换图片
CCSprite *spriteR= CCSprite::create("icon.png"); //123px*123px的图片
spriteR->setPosition(ccp(size.width*0.7,size.height*0.5));
spriteR->setOpacity(230);//0~255
this->addChild(spriteR);
spriteR->setTexture(CCTextureCache::sharedTextureCache()->addImage("CloseNormal.png"));
欢迎关注我的围脖
==================== 迂者 丁小未 CSDN博客专栏=================
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243
Unity QQ群:375151422 cocos2dx QQ群:280818155
====================== 相互学习,共同进步 ===================
[windows+cocos2dx]CCSprite精灵类的更多相关文章
- cocos2d-x ios游戏开发初认识(五) CCsprite精灵类
这次写一下精灵创建的几种类型: 一.通过文件创建: 在原有的基础上加入例如以下代码: //一.通过文件创建精灵 CCSprite *bg =CCSprite::create("map.png ...
- [原创]cocos2d-x研习录-第二阶 概念类之精灵类(CCSprite)
上一节说布景层CCLayer是小容器,那么精灵类CCSprite就是容器添加的内容,它是构成游戏的主要元素.精灵这个名称应该是游戏专用,它表示游戏中玩家操作的主角.敌人.NPC(Non Player ...
- Cocos2dx项目启程一 之 封装属于我的精灵类
给自己的假期就快要结束了,该要做点事情了,哪怕简单的不好的也比不做的有意义. /*#pragma once 保证头文件只被编译一次 #pragma once是编译器相关的,就是说即使这个编译系统上有效 ...
- Cocos2d-x 3.1.1 学习日志7--7分钟让你了解cocos2d-x3.1.1 Sprite精灵类
精灵(Sprite)是游戏里面的角色,比方敌人.游戏里面运动的物体等等,所以精灵是游戏里面一个很常见的概念.差点儿无处不在. 在Cocos2D-x里面精灵是用Sprite类来进行表示的,它能够用一张图 ...
- Cocos2d-x Lua中Sprite精灵类
精灵类是Sprite,它的类图如下图所示. Sprite类图 Sprite类直接继承了Node类,具有Node基本特征.此外,我们还可以看到Sprite类的子类有:PhysicsSprite和Skin ...
- 在lua脚本中使用我们自定义的精灵类
首先创建cocos2dx-lua项目,然后在项目中添加我们的自定义精灵类:这里Himi类名为:HSprite // // HSprite.h // cocos2dx_lua_tests_by_Himi ...
- Cocos2d-JS中的Sprite精灵类
精灵类是cc.Sprite,它的类图如下图所示.cc.Sprite类直接继承了cc.Node类,具有cc.Node基本特征. 创建Sprite精灵对象 创建精灵对象可以使用构造函数实现,它们接受相同的 ...
- 不可或缺 Windows Native (17) - C++: 类与对象
[源码下载] 不可或缺 Windows Native (17) - C++: 类与对象 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 类与对象 示例1.类的设计CppE ...
- windows phone 了解LinearGradientBrush类和RadialGradienBrush类(11)
原文:windows phone 了解LinearGradientBrush类和RadialGradienBrush类(11) 我们了解到在能在xaml中完成的设计,一般在隐藏文件中也可通过代码完成: ...
随机推荐
- Android nomedia 避免图片等资源泄露在系统图库其中
总结 Android nomedia 避免文件泄露在系统图库和系统铃声中 在应用开发中 项目的图片总是被系统的图库收录了 避免图片被系统图库收录的发现有2个方法 第一种针对图片 将 .png为后缀的图 ...
- Chrome下使用百度地图报错Cannot read property 'minZoom' of undefined
问题:工作中在Google chome下面的js console里面测试百度地图API var map = new BMap.Map("container"); map.cente ...
- Gradle for Android 第三篇( 依赖管理 )
依赖管理 这会是一个系列,所以如果你还没有看我之前的几篇文章,请先查看以下文章: Gradle for Android 第一篇( 从 Gradle 和 AS 开始 ) Gradle for Andro ...
- angularjs1-6,自定义服务
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- bzj1106: [POI2007]立方体大作战tet
比较玄幻的题目. 考虑两个不同的元素 假设位置是 a...a...b...b... 那么不需要通过交换ab来消除ab,各自弄就行 若是 a...b...b...a... 那也没必要交换,先把b消掉就好 ...
- 机器学习案例学习【每周一例】之 Titanic: Machine Learning from Disaster
下面一文章就总结几点关键: 1.要学会观察,尤其是输入数据的特征提取时,看各输入数据和输出的关系,用绘图看! 2.训练后,看测试数据和训练数据误差,确定是否过拟合还是欠拟合: 3.欠拟合的话,说明模 ...
- 【POJ 2182】Lost Cows
[题目链接] http://poj.org/problem?id=2182 [算法] 树状数组 + 二分 [代码] #include <algorithm> #include <bi ...
- Spark RDD概念学习系列之如何创建Pair RDD
不多说,直接上干货! 创建Pair RDD Python语言 pairs = lines.map(lambda x: (x.split(], x)) scala语言 val pairs = line ...
- Java基础——环境变量(PATH)和类变量(CLASSPATH)
一.环境变量(PATH) 科普下,环境变量不是java的知识,是windows系统的环境变量. 下面请看怎么查看和修改windows的环境变量 在“我的电脑”右键属性进入后 点击“高级系统设置”(如下 ...
- Linux学习日记——字符处理
(菜鸡学习日记 各种使用命令只列举了常用几种,发现错误望指正) 一.管道 在Linux 中,管道就是一个固定大小的缓冲区,大小为一页4K.它是一种通信的机制,可以使用管道符“ | ” 来连接进程,连接 ...