UI引擎开发系列(四) 消息机制
来源:互联网 发布:director.js 编辑:程序博客网 时间:2024/05/21 11:31
自定义消息的控制
#pragma once#include "Component/CTSingleton.h"#include "Component/CBaseView.h"#include "Component/CViewNodeGroup.h"#include "CUIViewNode.h"#include "IMessageListener.h"using namespace tcl;//Home viewclass CHomeView : public CViewNodeGroup,public CTSingleton<CHomeView>, public IMessageListener{public:CHomeView();//当某一个View获取focus时,执行onGetFocus,丢失focus时执行onLoseFocusvirtual void onGetFocus();virtual void onLoseFocus();private://主页面的页面切换动画CAnimationPlayer* m_pHomeAnmPlayer;//子view列表core::array<CUIViewNode*> m_ViewNodes;ISceneNode* m_pTitleFocus;ISceneNode* m_pTitle;ISceneNode* m_HomeParent;//消息的接收与处理函数,源自何方,主题是什么,处理的参数 virtual strArray onMessage(core::stringc from,core::stringc subject, strArray& param);//单例实现CT_DECLARE_SINGLETON(CHomeView)};
消息处理的例子,更新天气
//CHomeView接受消息strArray CHomeView::onMessage(core::stringc from,core::stringc subject, strArray& param){strArray ret;//如果标题是设置天气纹理 而且有参数if(subject == "SetWeatherTexture" && param.size()>0){//通过这个接口,获取已存在的纹理为智能指针TexturePtr weatherptr = TextureGen::getTexture(param[0]);//获取纹理需要贴的那个物体ISceneNode* title = CommonTools::getISceneNodeByName("01001");//如果纹理物体都没问题,就贴在物体的第0层上if(weatherptr && title){title->setMaterialTexture(0,weatherptr);}}return ret;}
0 0
- UI引擎开发系列(四) 消息机制
- iOS开发系列之四--通知与消息机制
- 工作流引擎开发系列四核心设计
- UI引擎机制系列(一)GLRender线程处理接口设计
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- iOS开发系列--通知与消息机制
- C/C++中字符指针和字符数组
- 读取Excel时,某些单元格为空值
- 爱因斯坦72法则
- eclipse 运行 命令行参数
- 整理的Android开发资源
- UI引擎开发系列(四) 消息机制
- Android 关于所谓的“深度睡眠”的问题
- 金融大脑,互联网金融的下一个风暴眼
- /include/sys/types.h:151: error: duplicate 'unsigned' uint,ulong和ushort自定义和工具链报冲突的规避方法
- asmcmd报错
- jqgrid 给某一列添加超链接
- tigase下的聊天室创建与配置
- Swift--数组和字典(二)
- 我试图用ANSI “字符串化” 预处理操作符# 向信息中插入符号常量的值, 但它字符串化的总是宏的名字而不是它的值。