【Cocos2dx】使用CCScale9Sprite拉伸图片
来源:互联网 发布:淘宝店怎么样提高销量 编辑:程序博客网 时间:2024/05/29 14:28
如下图,在资源的Rescources文件夹中自带一个40x40的按钮图片
如果我们在Cocos2dx设定此图片自动拉伸为填充游戏屏幕的800x600图片,如下图:
总不能在外部利用Photoshop等图形处理软件,自行把这张40x40的图片拉伸为800x600,然后根据不同的设备的分辨率,做多张图片吧?
此时可以利用Cocos2dx的CCScale9Sprite。
CCScale9Sprite不属于Cocos2dx的基本类,但一般的Cocos2dx已经引入这个类了。
部分Cocos2dx可能需要与《【Cocos2dx】资源文件夹,播放背景音乐,导入外部库》(点击打开链接)一样,添加Cocos2dx安装文件夹下的extensions目录,之后通过【右击工程】->【属性】->【配置属性】->【链接器】->【输入】,编辑【附加依赖项】,自行补上libExtensions.lib,把这个基本包补上,但大部分的Cocos2dx只要在要实现的场景cpp中引入#include "cocos-ext.h"这个头文件就可以使用CCScale9Sprite。
像《【Cocos2dx】Windows平台下Cocos2dx 2.x的下载、安装、配置,打造自己的Helloworld》(点击打开链接)一样,在AppDelegate.cpp关闭程序的调试信息,同时在main.cpp将程序设定尺寸大小为800x600,对HelloWorldScene.cpp引入#include "cocos-ext.h"这个头文件,同时将其bool HelloWorld::init(){}方法修改,得到如下代码:
#include "HelloWorldScene.h"#include "cocos-ext.h"USING_NS_CC;CCScene* HelloWorld::scene(){ // 'scene' is an autorelease object CCScene *scene = CCScene::create(); // 'layer' is an autorelease object HelloWorld *layer = HelloWorld::create(); // add layer as a child to scene scene->addChild(layer); // return the scene return scene;}// on "init" you need to initialize your instancebool HelloWorld::init(){ //获取屏幕的尺寸、位置信息等CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();cocos2d::extension::CCScale9Sprite *scale9Sprite = cocos2d::extension::CCScale9Sprite::create("CloseSelected.png");//声明要拉伸的图片scale9Sprite->setContentSize(CCSize(visibleSize.width,visibleSize.height));//设置图片的大小拉伸至整个屏幕这么大scale9Sprite->setPosition(ccp(origin.x + visibleSize.width/2,origin.y + visibleSize.height/2));//图片的中心点位于屏幕的中央this->addChild(scale9Sprite);//把图片放上场景return true;}void HelloWorld::menuCloseCallback(CCObject* pSender){#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT) || (CC_TARGET_PLATFORM == CC_PLATFORM_WP8)CCMessageBox("You pressed the close button. Windows Store Apps do not implement a close button.","Alert");#else CCDirector::sharedDirector()->end();#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) exit(0);#endif#endif}
就可以把一张原本为40x40的图片尽可能地拉伸,如上图,成为了一张还不算太难看的800x600的背景图片了。其中CCScale9Sprite位于cocos2d::extension这个命名空间。
0 0
- 【Cocos2dx】使用CCScale9Sprite拉伸图片
- CCScale9Sprite使用介绍
- CCScale9Sprite使用介绍
- cocos2d-x 使用 CCScale9Sprite
- CCScale9Sprite的使用
- CCScale9Sprite
- ccscale9sprite
- Android使用ratingbar出现图片拉伸解决办法
- 图片拉伸处理:stretchableImageWithLeftCapWidth方法的使用
- [Android]使用draw9patch制作可拉伸图片
- 图片拉伸 [UIImage resizableImageWithCapInsets:]使用注意
- 使用JavaScript解决网页图片拉伸问题
- [Android]使用draw9patch制作可拉伸图片
- resizableImageWithCapInsets对图片拉伸的使用见解
- 图片拉伸
- 图片拉伸
- 拉伸图片
- 图片拉伸
- OC不可变数组NSArray详解
- 通过configSource提高web.config配置灵活性
- 用C语言求一元二次方程的根
- 内存堆和栈的区别
- UVA表达式树的后序遍历和层次遍历和建树
- 【Cocos2dx】使用CCScale9Sprite拉伸图片
- 指针
- 黑马程序员——集合
- gcc与g++
- 矩阵结构体
- Java 线程测试框架
- C++那些细节--函数的默认参数
- hdu 5414 CRB and String 2015多校联合训练赛#10 贪心
- 简单灵活解决 Viewgroup嵌套 产生的手势冲突问题