2.Scene里面添加精灵

我只是一个虾纸丫 提交于 2020-03-03 23:26:07

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:表示可视区域的起点坐标,这在处理相对位置的时候非常有用,确保节点在不同分辨率下的位置一致。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!