[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中完成的设计,一般在隐藏文件中也可通过代码完成: ...
随机推荐
- 去哪网实习总结:如何配置数据库连接(JavaWeb)
本来是以做数据挖掘的目的进去哪网的,结构却成了系统开发.. . 只是还是比較认真的做了三个月,老师非常认同我的工作态度和成果. .. 实习立即就要结束了.总结一下几点之前没有注意过的变成习惯和问题,分 ...
- HDU 1171 Big Event in HDU(多重背包)
Big Event in HDU Problem Description Nowadays, we all know that Computer College is the biggest depa ...
- 《Java虚拟机原理图解》 1.2.3、Class文件里的常量池具体解释(下)
NO9.类中引用到的field字段在常量池中是如何描写叙述的?(CONSTANT_Fieldref_info, CONSTANT_Name_Type_info) 一般而言.我们在定义类的过程中会定义一 ...
- UVA 11000- Bee 递推
In Africa there is a very special species of bee. Every year, the female bees of such species give b ...
- Qt 图像处理之 灰度变换
对图像的亮度.对照度进行变换是非经常常使用的一种图像处理操作,可是Qt 本身却没有提供对应的功能代码.因此我写了个简单的类来实现这些操作.我把这个类称为 BrightnessMapper. 代码例如以 ...
- 杂项:MSP(管理服务提供商)
ylbtech-杂项:MSP(管理服务提供商) 随着外包市场的日益成熟,为了满足企业的需求,一个全新的业务方向被开发出来—MSP.MSP采用业界领先的系统管理技术,由经验丰富的系统管理专家通过WAN为 ...
- 使用cxf3.0.4搭建webservice服务需要的最精简jar包
转自:https://blog.csdn.net/w1014074794/article/details/47862163 下面是测试结果,只列出报错了的测试: 1.org.apache.catali ...
- [jzoj 6080] [GDOI2019模拟2019.3.23] IOer 解题报告 (数学构造)
题目链接: https://jzoj.net/senior/#main/show/6080 题目: 题意: 给定$n,m,u,v$ 设$t_i=ui+v$ 求$\sum_{k_1+k_2+...+k_ ...
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别与网站优化
转 http://blog.csdn.net/dannywj1371/article/details/10213631 1.Response.Redirect():Response.Redirect方 ...
- BZOJ 4321 DP
思路: 这个DP太神了- 完全没想到 http://blog.csdn.net/geotcbrl/article/details/49663401 //By SiriusRen #include &l ...