Cocos2d-x消息处理机制

原理

在Cocos2d-x V3.0以上,使用事件监听机制来处理触摸消息。引擎启动后会有一个全局的EventDispatcher来负责接收设备的输入消息并将这些消息分发给向其注册的Node对象。Node对象向EventDispatcher注册自己感兴趣的消息类型后,EventDispatcher就会将相应的消息分发给这个Node。

使用

下面是C++中Node对象监听触摸事件的方法。

auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = CC_CALLBACK_2(YourNode::onTouchBegan, this);
listener->onTouchMoved = CC_CALLBACK_2(YourNode::onTouchMoved, this);
listener->onTouchEnded = CC_CALLBACK_2(YourNode::onTouchEnded, this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);

Cocos2d-x UI使用问题总结

基础

1. 更新位置和大小信息

当使用widgetFromBinaryFile或者widgetFromJsonFile创建UI后,某些百分比控件的位置和尺寸并不是正确的,可以使用updateSizeAndPosition来更新。

2. 控件尺寸百分比和位置百分比

当在一个控件的尺寸或者位置指定为百分比类型时,那么再对它使用setPositionsetContentSize是没有用。当发现一个控件进行位置和大小设置后没有变化,就应该先去查一查是不是设置为百分比类型了。

Hexo写作

文章写作

1. 创建草稿

hexo new draft <title>

使用hexo server --draft渲染草稿

2. 将草稿移至文章目录

草稿存在于source/_drafts目录下,当文章草稿完成后,用下面的命令将草稿移至文章目录source/_posts

hexo publish <title>

如一开始不需要草稿,可以直接创建文章hexo new <title>

Hexo博客Wiki

1. Hexo安装使用

安装

参考官方文档说明

配置

_config.yml文件中,我们可以配置Hexo博客。

  • skip_render选项

Hexo默认会渲染source文件下的所有的*.md*.html文件。配置该选项,我们可以让Hexo在生成网站文件的时候跳过某些文件,比如用于域名所有权验证的HTML文件或者github仓库的Readme文件。

skip_render:
- xxx.html
- readme.md

使用

# 创建新的站点
hexo init [folder]
# 创建新的文章
hexo new [layout] <title>
# 发布草稿
hexo publish [layout] <filename>
# 启动一个本地Server,并显示草稿文章
# 默认的地址为: http://localhost:4000/
hexo server --draft
# 生成静态文件
hexo generate
# 部署
hexo deploy
# 清除
# 清除缓存文件(db.json)和生成的文件(public/)
hexo clean