[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中完成的设计,一般在隐藏文件中也可通过代码完成: ...
随机推荐
- 关于wait notify notifyall的学习心得
wait()能让同步的线程挂起并将锁抛出,sleep只能使线程“睡了“,线程的锁并不会抛出,所以sleep还可以作用于非同步的线程.notify与notifyall能将被挂起或睡着的线程唤醒,但并不是 ...
- tcMalloc 配置和优化 nginx 高性能
tcMalloc优化nginx 记住:nginx一定要先启动 1>下载安装libunwind: #wget http://download.savannah.gnu.org/releases ...
- php匿名函数和可变参数函数
php匿名函数和可变参数函数 简介 直接上代码了: <?php $test1 = function($value) { echo $value; }; $test1('HelloWorld'); ...
- php实现邮箱激活功能
php实现邮箱激活功能 一.样例 二.文件结构 其中swiftmailer-master是第三方插件,用来发验证邮件 三.核心代码 doAction.php 响应页面 <?php header( ...
- ES 處於“initializing”狀態,此時主節點正在嘗試將分片分配到集群中的數據節點。 如果您看到分片仍處於初始化或未分配狀態太長時間,則可能是您的集群不穩定的警告信號。
指標要點: Cluster status: 如果集群狀態為黃色,則至少有一個副本分片未分配或丟失. 搜索結果仍將完成,但如果更多的分片消失,您可能會丟失數據. 紅色的群集狀態表示至少有一個主分片丟失, ...
- Flask_URL和视图
1.Flask_URL和视图 1.1.第一个flask程序 from flask import Flask #创建一个Flask对象,传递__name__参数进去 app = Flask(__na ...
- mobiscroll插件的基本使用方法
前一阵子接触到了mobiscroll插件,用在移动端的日期选择上,感觉倍棒,于是便敲了一个小案例,与大家一起分享分享 <!DOCTYPE html> <html lang=" ...
- Android实现图片相似度
Android实现图片相似度 最近公司有一个需求,就是希望能判断用户提交的照片是否是身份证的正面或者反面.可以通过预设一张拍摄清晰的身份证正面或者反面,来对比是否相似,那么问题就转化为如何计算两张图片 ...
- Python 之 入门须知
1.Python2.0不支持中文,3.0支持 2.版本问题
- cache(缓存)的作用
cache的作用: 连接文件.内存与应用,为信息流在三者之间流动提供通道: 存储管理:对外与对内: 存取效率: 多线程: 一次存储:分批存储? 系统的缓存控制机制(虚拟内存)使用分段分页与命中机制. ...