//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);
};
//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;
}