Step 1. 声明头文件
#ifndef MainScence_hpp
#define MainScence_hpp
#include <stdio.h>
#include "cocos2d.h"
class MainScence : public cocos2d::Scene
{
public:
static cocos2d::Scene* createScene();
virtual bool init();
// implement the "static create()" method manually
CREATE_FUNC(MainScence);
};
#endif /* MainScence_hpp */
Step2. 声明cpp文件
#include "MainScence.h"
USING_NS_CC;
Scene* MainScence::createScene()
{
return MainScence::create();
}
bool MainScence::init()
{
auto visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();
auto label = Label::createWithTTF("Hello World", "fonts/Marker Felt.ttf", 24);
label->setPosition(Vec2(origin.x + visibleSize.width/2,
origin.y + visibleSize.height - label->getContentSize().height));
this->addChild(label, 0);
auto sprite = Sprite::create("HelloWorld.png");
sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
// add the sprite as a child to this layer
this->addChild(sprite, 0);
return true;
}
知识点:
1. cocos2dx中默认的坐标原点是左下角,所有API里面的坐标都是相对于父节点
2.getVisibleSize:表示获得视口(可视区域)的大小,如果DesignResolutionSize跟屏幕尺寸一样大,则getVisibleSize等于getWinSize。
3.getVisibleOrigin:表示可视区域的起点坐标,这在处理相对位置的时候非常有用,确保节点在不同分辨率下的位置一致。
来源:oschina
链接:https://my.oschina.net/yangzhongyu/blog/3186866