dl
dl::Input类 参考

键盘、鼠标、手柄等输入检测 更多...

#include <dl_input.h>

Public 类型

enum class  KeyNameType { ENGLISH , CHINESE }
 

Public 成员函数

 Input ()
 
 ~Input ()
 
bool KeyUp (KeyCode key_code)
 检测一个按键按下并释放,只1帧有效。
 
bool KeyDown (KeyCode key_code)
 检测一个按键按下了,松开后再按下才会再次触发,只1帧有效。
 
bool KeyDownAny ()
 检测是否按下任意键。
 
bool KeyState (KeyCode key_code)
 检测一个按键是否按下。
 
std::string GetKeyName (KeyCode key_code)
 返回按键的名称。
 
bool KeyUp (MouseCode mouse_code)
 鼠标键按下并释放,只1帧有效。
 
bool KeyDown (MouseCode mouse_code)
 鼠标键按下,只1帧有效。
 
bool KeyState (MouseCode mouse_code)
 鼠标键状态
 
bool ClickDouble ()
 鼠标左键双击
 
void SetMousePositionCenter ()
 设置鼠标居中窗口中。
 
Point GetCursorPosition ()
 返回鼠标位置。限制到窗口范围
 
Position2 GetCursorPos ()
 
Point GetCursorPositionOutWindow ()
 返回鼠标位置,会超出窗口外,特殊情况使用。
 
Point GetCursorPositionDelta ()
 和上帧的鼠标位置变化。
 
Position GetScrollDelta ()
 获取滚动变化
 
void ClearScrollDelta ()
 
void SetRunBackground (bool run=false)
 设置是否允许后台检测按键。
 
void SetKeyNameType (KeyNameType type)
 设置按键名字。
 
bool WaitKeyDown (KeyCode &key_code, bool contain_special=false)
 直到一个按键被按下 返回真。
 
void SetGamePadOpen (bool open)
 设置手柄是否启用。
 
GamePadGetGamePad (unsigned id)
 返回手柄对象,失败返回nullptr。 @parma[in] id 手柄编号0-3
 
void ControlCoor (Coor *coor, Float move_speed=200_f, Float scale_speed=1_f, Float rotate_speed=Math::PI(1, 2))
 控制一个Coor移动、缩放、旋转
 
void _set_key (int key, bool down)
 设置一个键是否按下
 
void _set_key_mouse (int key, bool down)
 设置鼠标键是否按下
 
void _set_cursor (int xpos, int ypos, bool b_clear_cursor_dt)
 设置光标位置
 
void _set_scroll (double dx, double dy)
 设置滚轮
 

友元

class System
 

详细描述

键盘、鼠标、手柄等输入检测

在文件 dl_input.h211 行定义.

成员枚举类型说明

◆ KeyNameType

enum class dl::Input::KeyNameType
strong
枚举值
ENGLISH 
CHINESE 

在文件 dl_input.h215 行定义.

构造及析构函数说明

◆ Input()

dl::Input::Input ( )
inline

在文件 dl_input.h221 行定义.

◆ ~Input()

dl::Input::~Input ( )
inline

在文件 dl_input.h245 行定义.

成员函数说明

◆ _set_cursor()

void dl::Input::_set_cursor ( int xpos,
int ypos,
bool b_clear_cursor_dt )

设置光标位置

注解
请勿调用,在轮询事件时会自动调用(传入系统层坐标)

◆ _set_key()

void dl::Input::_set_key ( int key,
bool down )
inline

设置一个键是否按下

注解
请勿调用,在轮询事件时会自动调用(按下 与 重复均为真)

在文件 dl_input.h387 行定义.

◆ _set_key_mouse()

void dl::Input::_set_key_mouse ( int key,
bool down )
inline

设置鼠标键是否按下

注解
请勿调用,在轮询事件时会自动调用(按下 与 重复均为真)

在文件 dl_input.h395 行定义.

◆ _set_scroll()

void dl::Input::_set_scroll ( double dx,
double dy )
inline

设置滚轮

注解
请勿调用,在轮询事件时会自动调用

在文件 dl_input.h408 行定义.

◆ ClearScrollDelta()

void dl::Input::ClearScrollDelta ( )
inline

在文件 dl_input.h346 行定义.

◆ ClickDouble()

bool dl::Input::ClickDouble ( )
inline

鼠标左键双击

在文件 dl_input.h304 行定义.

◆ ControlCoor()

void dl::Input::ControlCoor ( Coor * coor,
Float move_speed = 200_f,
Float scale_speed = 1_f,
Float rotate_speed = Math::PI(1, 2) )

控制一个Coor移动、缩放、旋转

◆ GetCursorPos()

Position2 dl::Input::GetCursorPos ( )
inline

在文件 dl_input.h318 行定义.

◆ GetCursorPosition()

Point dl::Input::GetCursorPosition ( )

返回鼠标位置。限制到窗口范围

◆ GetCursorPositionDelta()

Point dl::Input::GetCursorPositionDelta ( )
inline

和上帧的鼠标位置变化。

在文件 dl_input.h334 行定义.

◆ GetCursorPositionOutWindow()

Point dl::Input::GetCursorPositionOutWindow ( )
inline

返回鼠标位置,会超出窗口外,特殊情况使用。

在文件 dl_input.h326 行定义.

◆ GetGamePad()

GamePad * dl::Input::GetGamePad ( unsigned id)

返回手柄对象,失败返回nullptr。 @parma[in] id 手柄编号0-3

◆ GetKeyName()

std::string dl::Input::GetKeyName ( KeyCode key_code)

返回按键的名称。

参数
[in]vkey按键的vk码
备注
可以通过SetKeyNameType设置哪一种语言。

◆ GetScrollDelta()

Position dl::Input::GetScrollDelta ( )
inline

获取滚动变化

注解
向下滚动为正数,在windows一般会返回1、2等等

在文件 dl_input.h342 行定义.

◆ KeyDown() [1/2]

bool dl::Input::KeyDown ( KeyCode key_code)
inline

检测一个按键按下了,松开后再按下才会再次触发,只1帧有效。

在文件 dl_input.h257 行定义.

◆ KeyDown() [2/2]

bool dl::Input::KeyDown ( MouseCode mouse_code)
inline

鼠标键按下,只1帧有效。

在文件 dl_input.h290 行定义.

◆ KeyDownAny()

bool dl::Input::KeyDownAny ( )

检测是否按下任意键。

◆ KeyState() [1/2]

bool dl::Input::KeyState ( KeyCode key_code)
inline

检测一个按键是否按下。

返回
按回的是键盘的按键状态。和KeyUp、KeyDown不同,只要按键是被玩家按下了,就会返回真,否则返回假。

在文件 dl_input.h269 行定义.

◆ KeyState() [2/2]

bool dl::Input::KeyState ( MouseCode mouse_code)
inline

鼠标键状态

在文件 dl_input.h297 行定义.

◆ KeyUp() [1/2]

bool dl::Input::KeyUp ( KeyCode key_code)
inline

检测一个按键按下并释放,只1帧有效。

在文件 dl_input.h250 行定义.

◆ KeyUp() [2/2]

bool dl::Input::KeyUp ( MouseCode mouse_code)
inline

鼠标键按下并释放,只1帧有效。

在文件 dl_input.h283 行定义.

◆ SetGamePadOpen()

void dl::Input::SetGamePadOpen ( bool open)

设置手柄是否启用。

注解
默认情况是开启的

◆ SetKeyNameType()

void dl::Input::SetKeyNameType ( KeyNameType type)

设置按键名字。

◆ SetMousePositionCenter()

void dl::Input::SetMousePositionCenter ( )

设置鼠标居中窗口中。

◆ SetRunBackground()

void dl::Input::SetRunBackground ( bool run = false)

设置是否允许后台检测按键。

◆ WaitKeyDown()

bool dl::Input::WaitKeyDown ( KeyCode & key_code,
bool contain_special = false )

直到一个按键被按下 返回真。

友元及相关符号说明

◆ System

friend class System
friend

在文件 dl_input.h213 行定义.


该类的文档由以下文件生成: