第一个Hello world(1)

简介:

把新创建的空项目中的HelloworldScene类删除掉,自己写一个.

一步步学习,不能投机取巧,先从最简单的hello world开始!

#ifndef __HelloCpp__LoadingLayer__
#define __HelloCpp__LoadingLayer__

#include "cocos2d.h"

/** @brief 游戏启动层类
 *
 *  游戏启动会创建此类对象,通过工厂方法创建一个场景,并将自己(层)加入到场景中
 */
class LoadingLayer : public cocos2d::CCLayer
{
public:
    // 初始化函数
    virtual bool init();
    
    // 工厂方法,生成场景对象
    static cocos2d::CCScene * scene();
    
    // 关闭菜单的回调
    void menuCloseCallback(CCObject *pSender);
    
    // 静态创建类对象
    static LoadingLayer * create();
};

#endif /* defined(__HelloCpp__LoadingLayer__) */

#include "LoadingLayer.h"

USING_NS_CC;

CCScene * LoadingLayer::scene()
{
    // 使用工厂方法生成scene
    CCScene *pScene = CCScene::create();
    
    // 使用工厂方法生成启动层对象
    LoadingLayer *pLayer = LoadingLayer::create();
    
    // 把启动层对象加入到场景中
    pScene->addChild(pLayer);
    
    return pScene;
}

bool LoadingLayer::init()
{
    if (!CCLayer::init()) {
        return false;
    }
    
    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
    
    // 添加图片菜单项
    CCMenuItemImage *pCloseItem = CCMenuItemImage::create("CloseNormal.png",
                                                          "CloseSelected.png",
                                                          this,
                                                          menu_selector(LoadingLayer::menuCloseCallback));
    // 设置菜单项在屏幕的位置
    pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width / 2,
                                origin.y + pCloseItem->getContentSize().height / 2));
    
    // 创建菜单并添加到层中
    CCMenu *pMenu = CCMenu::create(pCloseItem, NULL);
    pMenu->setPosition(CCPointZero);
    this->addChild(pMenu, 1);
    
    // 创建标题
    CCLabelTTF *pLabel = CCLabelTTF::create("Hello World", "Arial", 24);
    pLabel->setPosition(ccp(origin.x + visibleSize.width / 2,
                            origin.y + visibleSize.height / 2));
    this->addChild(pLabel, 1);
    
    // 添加精灵
    CCSprite *pSprite = CCSprite::create("HelloWorld.png");
    pSprite->setPosition(ccp(visibleSize.width / 2 + origin.x,
                             visibleSize.height / 2 + origin.y));
    this->addChild(pSprite, 0);
    
    return true;
}

LoadingLayer * LoadingLayer::create()
{
    LoadingLayer *pRet = new LoadingLayer();
    if (pRet && pRet->init()) {
        pRet->autorelease();
        return pRet;
    }
    
    delete pRet;
    pRet = NULL;
    
    return NULL;
}

void LoadingLayer::menuCloseCallback(cocos2d::CCObject *pSender)
{
    CCDirector::sharedDirector()->end();
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
    exit(0);
#endif
    return;
}


目录
相关文章
|
3月前
输出 "Hello, World!"
【10月更文挑战第12天】输出 "Hello, World!"
19 2
|
3月前
在 main 函数中输入字符串
在 main 函数中输入字符串。
25 3
|
7月前
|
Dart 开发工具 C++
Dart第一个程序hello,world
Dart第一个程序hello,world
|
7月前
|
Java C语言 C++
实现Hello,World!的方式
实现Hello,World!的方式
|
8月前
|
Unix 编译器 C语言
Hello World!—— 属于我们的第一个C语言程序
C语言最早是由贝尔实验室的Dennis Ritchie为了UNIX的辅助开发而编写的,它是在B语言的基础上开发出来的。尽管C语言不是专门针对UNIX操作系统或机器编写的,但它与UNIX系统的关系十分紧密。由于它的硬件无关性和可移植性,使C语言逐渐成为世界上使用最广泛计算机语言。 为了进一步规范C语言的硬件无关性,1987年,美国国家标准协会(ANSI)根据C语言问世以来各种版本对C语言的发展和扩充,制定了新的标准,称为ANSI C。ANSI C语言比原来的标准C语言有了很大的发展。目前流行的C语言编译系统都是以它为基础的。
121 0
Hello World!—— 属于我们的第一个C语言程序
|
C语言 C++
C++打印hello world
C++打印hello world
187 0
|
IDE 编译器 程序员
编写第一个 C++ 程序:Hello World 示例
"Hello World"程序是学习任何编程语言的第一步,也是你将学习的最简单的程序之一。你所要做的就是在屏幕上显示消息"Hello World"。现在让我们看看程序:
210 0
|
编译器 Serverless C语言
第一个C语言程序(从Hello World开始)
第一个C语言程序(从Hello World开始)
第一个C语言程序(从Hello World开始)
|
Serverless 测试技术 文件存储
第一个函数:Hello World (下)
但我们注册并登陆我们的阿里云账号之后,我们可以找到函数计算产品:
115 0
|
Serverless C语言 C++
第一个函数:Hello World (上)
实现一个Hello World是入门各个编程语言的第一节课,无论是我们学习C语言,C++,Python等,貌似都离不开一个Hello World,既然如此,本章将会基于Serverless架构,在主流的云厂商的FaaS平台实现一个Hello World。
130 0

热门文章

最新文章