博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocos2d-x3.2 Scale9Sprite点九图形式缩放图片
阅读量:5936 次
发布时间:2019-06-19

本文共 1528 字,大约阅读时间需要 5 分钟。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//GameScene.h
 
#include "cocos2d.h"
 
class 
GameScene : 
public 
cocos2d::Layer
{
public
:
    
static 
cocos2d::Scene* createScene();
     
    
virtual 
bool 
init();
     
    
void 
menuCallback(cocos2d::Ref* pSender);
     
    
CREATE_FUNC(GameScene);
};

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//GameScene.cpp
 
//功能:采用点九图方式放大图片,防止图片伸缩后变形。注意包涵所需的头文件!
 
#include "GameScene.h"
 
//使用Scale9Sprite需要引入的头文件及命名空间
#include "extensions/cocos-ext.h"
USING_NS_CC_EXT;
 
USING_NS_CC;
 
 
cocos2d::Scene* GameScene::createScene()
{
    
auto 
scene = Scene::create();   
//创建一个场景
    
auto 
layer = GameScene::create();   
//创建一个图层
    
scene->addChild(layer);
    
return 
scene;
}
 
//初始化当前的图层
bool 
GameScene::init()
{
    
if
(!Layer::init())      
//初始化父类
        
return 
false
;
     
    
//获取屏幕大小
    
Size visibleSize = Director::getInstance()->getVisibleSize();
    
//auto size = Director::getInstance()->getWinSize();
     
    
auto 
sprite2 = Sprite::create(
"yellow_edit.png"
);
    
sprite2->setPosition(Vec2(visibleSize.width/2, visibleSize.height*0.7));
    
addChild(sprite2);
     
    
auto 
sprite3 = Sprite::create(
"yellow_edit.png"
);
    
sprite3->setPosition(Vec2(visibleSize.width/2, visibleSize.height*0.6));
    
sprite3->setScaleX(5);
    
addChild(sprite3);
     
    
auto 
sprite1 = Scale9Sprite::create(
"yellow_edit.png"
);
    
sprite1->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));
    
addChild(sprite1);
    
//设置伸缩后的外框大小
    
sprite1->setPreferredSize(Size(Vec2(300, 50)));
    
//设置伸缩后的内框大小
    
sprite1->setCapInsets(Rect(10, 10, 8, 8));
     
 
     
    
return 
true
;
}

转载地址:http://jcntx.baihongyu.com/

你可能感兴趣的文章
scala中tuple(一)
查看>>
lvm逻辑卷管理
查看>>
Linux链接概念
查看>>
单播、多播(组播)和广播的区别
查看>>
学习Linux坚持贴!第二天
查看>>
MySQL如何实现分库分表,如何提高查询效率
查看>>
Linux常用命令——stat
查看>>
用户登陆管理
查看>>
Html5的培训内容
查看>>
MySQL AutoCommit带来的问题
查看>>
使用lombok编写优雅的Bean对象
查看>>
eclipse安装scala插件及创建maven工程
查看>>
Python中如何把程序放到后台执行
查看>>
网页内嵌播放器
查看>>
NO.60 需求的状态和研发阶段
查看>>
我的友情链接
查看>>
一些设计思想的汇集(1)
查看>>
MySQL 整体性能调优
查看>>
学 Win32 汇编[23] - 位测试与位扫描指令: BT、BTC、BTR、BTS、BSF、BSR
查看>>
服务端测试工具
查看>>