博客
关于我
Cocos2d-x3.2 显示系统时间
阅读量:793 次
发布时间:2019-03-25

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

以下是优化后的内容:


游戏场景类创建

GameScene 是一个继承自 cocos2d::Layer 的类,主要用于游戏场景的创建与管理。以下是该类的实现细节:

类定义

class GameScene : public cocos2d::Layer
{
public:
static cocos2d::Scene* createScene();
bool init();
void menuCallback(Ref* pSender);
ocos2d::Scene* scene;
cocos2d::Layer* layer;
};

类实现

1. 包含DEPENDENCY

首先,需要包含相关的头文件:

#include "cocos2d.h"
#include "GameScene.h"

2. 预处理

使用 USING_NS_CC; 扩张名空间,避免使用全称:

USING_NS_CC;

3. 类方法实现

3.1 static SceneManager createScene()

该方法用于创建一个新的场景对象,并初始化相关层:

auto scene = Scene::create();
auto layer = GameScene::create();
scene->addChild(layer);
return scene;

3.2 virtual bool init()

初始化当前层,调用父类方法并处理自身逻辑:

if (!Layer::init()) {
return false;
}
// 初始化当前的图层
// ... 其他初始化代码

3.3 void menuCallback(Ref* pSender)

菜单回调方法,负责处理用户交互事件。

4. 类成员变量

  • scene:当前场景指针
  • layer:当前游戏层对象

5. 获取屏幕大小

获取屏幕高度和宽度,通常使用 Director::getInstance()->getVisibleSize()Director::getInstance()->getWinSize()

cocos2d::Size size = Director::getInstance()->getVisibleSize();
// 或者
cocos2d::Size winSize = Director::getInstance()->getWinSize();

6. 时间获取

获取当前系统时间,可使用 time 函数和 tm 结构体:

struct timeval now;
time(&now); // 获取当前时间戳
// 获取详细时间信息
tm timeStruct;
time(&timeStruct);
// 年份:timeStruct.tm_year + 1900
// 月份:timeStruct.tm_mon + 1(因为 tm_mon 从0开始)
// 日期:timeStruct.tm_mday
// 时,小时:timeStruct.tm_hour
// 分,分钟:timeStruct.tm_min
// 秒,秒:timeStruct.tm_sec

7. 日期格式化

使用 sprintf 格式化时间信息,支持多位数补齐:

// 格式化日期
char date1[32];
sprintf(date1, "%d %02d %02d", year, month, day);
// 格式化时间
char date2[50];
sprintf(date2, "%02d:%02d:%02d", hour, minute, second);

8. 回调方法

当在菜单中添加回调时,传递 Ref*``pSender

void menuCallback(Ref* pSender) {
// 只需在菜单创建时注册该方法即可
}

以上内容包含了 GameScene 类的实现细节,包括类定义、方法实现以及相关技术实现。

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

你可能感兴趣的文章
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>