找回密码
 register

QQ登录

只需一步,快速开始

苍山雪CSX004:tab键呼出地图时自动寻路框没一起出来,需单独按alt+` 思路与解决方案

[复制链接]

苍山雪CSX004:tab键呼出地图时自动寻路框没一起出来,需单独按alt+` 思路与解决方案

[复制链接]
Waylee

主题

0

回帖

1万

积分

仙帝

积分
10124
Waylee 2024-11-27 23:12 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×

文章作者:雪舞
问题提交:茴香空空
编写时间:2024-11-27


问题描述

在使用 Tab 键呼出地图时,自动寻路框并未一同显示,必须单独按 `Alt + `` 才能打开自动寻路。希望在打开小地图时,自动启用自动寻路功能;在关闭小地图时,自动关闭自动寻路。
002.webp

打开小地图的方法::

  • 键盘按 tab 按键。
  • 点击小地图边上的 地区地图 tab 按钮。
  • 先点击 "世界地图" ,再点击 "切换至场景地图"。

解决思路与过程

参考武侠世界的老版本代码

通过分析武侠世界客户端的源代码,我们可以找到切换小地图的相关快捷键事件。以下是从源代码中提取的相关部分:

case KC_TAB:
    {
        if( s_pInputSystem->IsKeyDown( KC_LMENU ) ) 
            break;
        std::vector< STRING > vParam;
        vParam.push_back( CWorldManager::GetMe()->GetActiveScene()->GetSceneDefine()->szSceneMap );
        vParam.push_back( "2" ); // 参数 "2" 用于触发场景地图切换
        vParam.push_back( "tab" ); // 事件标识
        CEventSystem::GetMe()->PushEvent(GE_TOGLE_SCENEMAP, vParam ); // 触发切换场景地图事件
        CEventSystem::GetMe()->PushEvent(GE_TOGLE_CLOSELARGEMAP);     // 关闭大地图
        CGameProcedure::m_bNeedFreshMinimap = true;
        CGameProcedure::m_bWaitNeedFreshMinimap = true;
    }
    break;

在这段代码中,KC_TAB 对应 Tab 键的事件处理。当按下 Tab 键时,系统触发 GE_TOGLE_SCENEMAP 事件来切换场景地图。
代码详细解析:

付费看帖
剩余 69% 内容需要支付 88.00 金币 后可完整阅读
支持付费阅读,激励作者创作更好的作品。
您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |网站地图|天天打卡

GMT+8, 2024-12-5 03:06 , Processed in 0.063496 second(s), 7 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表