我要发帖 回复

中级会员

3

主题

149

积分

0

专家分

兴趣点(最多三项):

建模技术

私信
发表时间 : 2014-12-4 09:17:35 | 浏览 : 2761    评论 : 8
本帖最后由 LOHAS 于 2014-12-4 09:18 AM 编辑

GLStudio 飞机虚拟座舱中,怎么让虚拟三维的驾驶杆可以用鼠标操作? QQ截图20141204091639.png QQ截图20141204091651.png

最近VR访客查看更多↓

LOHAS专家组 评论于2014-12-10 10:28:32
int GlsF16CockpitClass::StickBase_ObjectCallback(Group* self, DisplayEvent* ev)
{
    MouseEvent* mev = (ev->eventType == EVENT_MOUSE ? (MouseEvent*)ev : NULL);
    KeyboardEvent* kev = (ev->eventType == EVENT_KEYBOARD ? (KeyboardEvent*)ev : NULL);
    RECT rects;
    CPoint poin;
    //HWND hwn=GetActiveWindow();//获取当前窗口句柄
    //ScreenToClient(hwn,&poin); //将windows的rect转换成客户端的rect
    //GetClientRect(hwn,&rects); //获取客户矩形区域
    //ClientToScreen(&rects);    // 把用户区坐标系下的RECT坐标转换为屏幕坐标系下的RECT坐标
    //ClipCursor(&rects);        //将鼠标锁定在用户区域
    bool reas=false;
ON_MOUSE_DOWN(MOUSE_LBUTTON)
{
        oldx=mev->x;
        reas=true;
}
ON_MOUSE_DRAG(MOUSE_LBUTTON)
{
        newx=poin.x-oldx;
        StickBase->DynamicRotate(newx,Y_AXIS);//DynamicRotate第一个参数:关于这个对象新的动态旋转角度
        reas=true;
}
    return reas;
}
LOHAS专家组 评论于2014-12-10 10:30:41
上面的代码是 在驾驶杆StickBase 的回调函数里写的
具体功能是左右拖动驾驶杆,这是自己查资料 写的解决办法,可能还有需要完善的地方~
六点零一专家组 评论于2014-12-31 10:26:25
牛B啊~赞一个
LOHAS专家组 评论于2015-1-12 16:06:44
我现在基本完成 虚拟座舱里 驾驶杆的操控、以及用外设,例如游戏手柄也可以操控驾驶杆(具体方式是 MFC+GL Studio)
有兴趣的朋友,可以联系我~
cshengyin专家组 评论于2015-5-14 23:48:39
LOHAS 发表于 2015-1-12 04:06 PM
我现在基本完成 虚拟座舱里 驾驶杆的操控、以及用外设,例如游戏手柄也可以操控驾驶杆(具体方式是 MFC+GL S ...

能发我一份吗?我的 QQ:287812260    谢谢
LOHAS专家组 评论于2015-5-15 13:47:43
cshengyin 发表于 2015-5-14 11:48 PM
能发我一份吗?我的 QQ:287812260    谢谢

我是使用基于Windows系统的游戏手柄操作的
沉默小AI 评论于2015-6-25 19:23:29
LOHAS 发表于 2015-1-12 04:06 PM
我现在基本完成 虚拟座舱里 驾驶杆的操控、以及用外设,例如游戏手柄也可以操控驾驶杆(具体方式是 MFC+GL S ...

楼主做的可以
827165496 评论于2017-5-2 14:12:42
LOHAS 发表于 2015-5-15 01:47 PM
我是使用基于Windows系统的游戏手柄操作的

大神可以发给我一份吗,谢谢827165496@qq.com

手机版|VR开发网 ( 津ICP备18009691号 ) 统计 网安备12019202000257

GMT+8, 2020-11-24 08:20 PM

返回顶部