zoukankan      html  css  js  c++  java
  • BaseApplication Framework的skdCameraMan SdkTrayManager分析

    在app里 new camera 和 skdCameraMan(这是个camera的控制器 )

    在构造函数中mCameraMan 初始化

    在析构函数中delete

    在createcamera中赋值
     mCameraMan = new OgreBites::SdkCameraMan(mCamera);   // create a default camera controller

    在keydown,keyrelease ,mousedown,mouserelease,mousemove,frameRenderingQueued都注入了mCameraMan 的处理事件 比如mCameraMan->injectMousemove

      这其实就是 把比如if(OIS_::KC_UP)(相机要做的事情)  这种代码 包到mCameraMan类里面去实现的

      在keydown的时候flag设置为true 在keyup的时候 flag=false

      在frameRenderingQueued里加判断若flag=true cameramove

    mCameraMan里有三种相机模式CS_MANUAL基本就是mCameraMan什么都不做mCameraMan默认的是free模式

    CS_FREELOOK,CS_ORBIT,CS_MANUAL

    我的框架是基于baseapp的 也就是说我要重写一个cameraController 覆盖掉skdCameraMan

    可以参考的 有两篇ogrewiki里的 3rd person &&first person

    把camera传进去到controller  写好处理的接口

    moveon moveback yaw

    还需要把scenemanager传进去 建立节点 实现在圆盘边缘四个离散位置的 移动

    SdkTrayManager是管理 光标属性页那些 overlay的 

  • 相关阅读:
    HDU 5671 矩阵
    HDU 5670
    UVA 11995 STL 使用
    VK Cup 2016
    字段定义
    apache用户
    apache
    使用第三方登录
    setex()
    如果客户端禁用了cookie,如何实现session
  • 原文地址:https://www.cnblogs.com/minggoddess/p/1902927.html
Copyright © 2011-2022 走看看