UI引擎开发系列(三) 场景视图控制
来源:互联网 发布:java三元运算符 编辑:程序博客网 时间:2024/06/06 15:54
1、首先创建场景
//场景类 需要继承CSingleScene,场景类有自己的事件处理等 class CViewControlScene : public CSingleScene,public CTSingleton<CViewControlScene>{public:CViewControlScene();//这两个方法会在每帧渲染的时候都被调用,调用顺序是先调用UpdateSingleScene,然后是2DScene。//可以在OnUpdate2DScene中绘制FPS帧率,这样不会被3D物体遮挡。void OnUpdateSingleScene();void OnUpdate2DScene();//这两个方法用于加载blender资源//直接解析一个blender文件,将blender所包含的物体、动画、图片等数据都加载到引擎//需要走一次完整的blender解析流程void LoadBlenderScene();//需要先将blender解析成xml文件包,以后每次用下面的接口把解析结果加载到引擎//这种方法不需要每次都解析blender文件,只是加载解析好的资源,所以加快了加载速度。void LoadBlenderSceneXML();//场景事件处理bool OnEvent(const SEvent& in_event);int GetSingleSceneType(){return 0;}//logic层创建void CreateLogicNode();//view创建void CreateView();//Node for Logicpublic://当前场景鼠标选中物体实例ISceneNode* m_MouseCollisionNode;private://单例实现CT_DECLARE_SINGLETON(CViewControlScene)};
2、创建主板块视图
#pragma once#include "Component/CTSingleton.h"#include "Component/CBaseView.h"#include "Component/CViewNodeGroup.h"#include "CUIViewNode.h"using namespace tcl;//Home viewclass CHomeView : public CViewNodeGroup,public CTSingleton<CHomeView>{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;//单例实现CT_DECLARE_SINGLETON(CHomeView)};
3、视图的业务逻辑处理
#pragma once#include "Component/CBaseLogic.h"class CAnimationPlayer;//这个类负责主页面的逻辑处理class CHomeLogic : public CBaseLogic{public:CHomeLogic(CLogicTree* parent,u32 handle);~CHomeLogic();//事件处理函数virtual void processEvent(const SEvent & event);};
0 0
- UI引擎开发系列(三) 场景视图控制
- UI引擎开发系列(一) 创建一个基本场景
- UI引擎开发系列(四) 消息机制
- 工作流引擎开发系列三类设计
- UNITY 开发日记/教程 俄罗斯方块 (三) 搭建场景UI
- UI引擎开发系列(二) 事件分发处理
- 自学iOS开发系列----UI(视图编程入门:UIButton)
- 自学iOS开发系列----UI(视图编程入门:UIView)
- 自学iOS开发系列----UI(视图编程入门:UINavigationController)
- 自学iOS开发系列----UI(视图编程入门:UITabBarController)
- 自学iOS开发系列----UI(视图编程入门:UIGestureRecognizer)
- 自学iOS开发系列----UI(视图编程入门:UIScrollView)
- Torque引擎系列之场景编辑器
- Android官方开发文档Training系列课程中文版:动画视图之场景创建
- Android官方开发文档Training系列课程中文版:动画视图之应用场景
- iOS开发 UI 自定义视图
- 自学iOS开发系列----UI(视图编程入门:ViewController、UIImageView、UILabel)
- iOS开发系列----UI(视图编程入门:Delegate、Block、单例、属性传值)
- struts2————2014.6.5
- Android如何获得圆角图片和带倒影的图片
- HashMap中的keySet()和entrySet()
- 【机器学习笔记 二】 一元的线性回归
- 过滤器的应用
- UI引擎开发系列(三) 场景视图控制
- [springMVC]Spring3MVC 在JSP中使用@ModelAttribute
- 苹果编程语言Swift解析:将推动应用开发巨变
- poj3264(RMQ果题)
- TCC直接执行C源文件的能力也会减轻我们的负担
- iOS 获取Wifi的SSID及MAC地址
- 大城小爱
- weblogic输出图片
- 《改善javascript程序的188个建议》摘抄