UDN
Search public documentation:

MOBAKitTouchpadCH
English Translation
日本語訳
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 主页 > 虚幻开发工具包精华文章 > MOBA初学者工具包 > Touch pad

MOBA初学者工具包- 触摸板


上次对UDK测试时间为 2012 年 5 月

概述


这个初学者工具包包含了其他类型的界面,可通过触摸板来控制游戏。 当平台被强制为移动平台(通过在UDKMOBAMapInfo中设置调试选项)或在移动设备(比如iPad2)上运行游戏时会自动使用它。 对游戏的控制显示了许多问题,因为您能从触摸事件中推断的真正信息与位置或与相同的触摸时间的移动相关。 因此,触摸板界面不仅仅是把键盘和鼠标的贴图转换到触摸板。 它也不是通过虚拟的方向键来解决。 因此,一系列新的类被创建来表述触摸板并呈现给玩家一个更简单的界面。 因为需要更简单的界面,游戏内的UI也必须相应改变。

UDKMOBAHUD_Mobile


函数

  • PostRender() - 这个事件的每一帧都被引擎调用用来更新HUD。 它调用 UDKMOBAHUD_Mobile::ProcessTouchEvents()
  • ProcessTouchEvents() - 此函数会遍历 UDKMOBAPlayerController_Mobile::TouchEvents 数组并查找尚未处理的触摸事件。 如果它们尚未被处理,那么调用 UDKMOBAPlayerController_Mobile::HandlePendingRightClickCommand() 并标识为已处理。

UDKMOBAPlayerController_Mobile


此类通过使用由 MobilePlayerInput::OnInputTouch() 提供的原生代理来处理主触摸界面。 当输入系统被初始化后,此代理被绑定。 当玩家控制器被毁坏时,此代理被取消绑定。 玩家控制器必须处于 PlayerCommanding 状态,因为绑定到 MobilePlayerInput::OnInputTouch() 的函数是此状态外的存根。

PlayerCommanding::InternalOnInputTouch()

这个函数创建,毁灭和更新玩家控制器中存储的触摸事件。 玩家控制器并不直接负责处理游戏逻辑的触摸,因为这在 UDKMOBAHUD_Mobile 中完成。 这是因为需要 Canvas 实例。

PlayerAimingSpell::InternalOnInputTouch()

此函数变量只追溯触摸事件,如同按键那样。 玩家控制器并不直接负责处理游戏逻辑的触摸,因为这在 UDKMOBAHUD_Mobile 中完成。 这是因为需要 Canvas 实例。