当前位置: 首页 > news >正文

万网主机怎么做网站科技类网站设计

万网主机怎么做网站,科技类网站设计,厦门seo排名优化,怎么做游戏门户网站解释 InputMgr 是一个输入管理器,主要用于检测并管理用户的输入事件(例如键盘和鼠标输入)。它通过监听输入事件,并利用事件中心 (EventCenter) 来触发相应的事件。在这里,你可以管理多种输入类型,如按下、…

解释

InputMgr 是一个输入管理器,主要用于检测并管理用户的输入事件(例如键盘和鼠标输入)。它通过监听输入事件,并利用事件中心 (EventCenter) 来触发相应的事件。在这里,你可以管理多种输入类型,如按下、抬起、以及持续按住的操作。这个管理器不仅能够捕捉单次输入,还可以通过回调函数捕获特定输入信息,用于复杂交互场景。

核心功能概述:

  1. 输入管理的开启和关闭:控制输入管理器是否处于活动状态。
  2. 键盘和鼠标输入的注册:支持监听特定按键或鼠标事件,并根据事件类型(按下、抬起、长按)触发相应的游戏逻辑。
  3. 输入监听的移除:可以动态地添加或移除输入监听,灵活地调整输入机制。
  4. 获取下一次输入信息:通过协程等待输入事件,并通过回调函数将输入信息传递给外部。
  5. 输入事件的触发:根据定义好的输入(键盘或鼠标)触发与之关联的事件中心操作。
  6. 外部事件的触发:例如,水平方向和垂直方向的移动触发,支持在游戏中处理角色移动等操作。

公有方法解释:

  1. StartOrCloseInputMgr(bool isStart)
    开启或关闭输入系统的检测。如果 isStarttrue,输入系统开始监听输入事件,反之停止监听。

  2. ChangeKeyboardInfo(E_EventType eventType, KeyCode key, InputInfo.E_InputType inputType)
    注册或更改键盘输入事件。根据传入的 eventType,将 key 对应的输入与具体事件类型(按下、抬起、长按)绑定到输入管理器中。

  3. ChangeMouseInfo(E_EventType eventType, int mouseID, InputInfo.E_InputType inputType)
    注册或更改鼠标输入事件。根据传入的 eventType,将鼠标按键(mouseID)对应的输入与具体事件类型(按下、抬起、长按)绑定到输入管理器中。

  4. RemoveInputInfo(E_EventType eventType)
    移除指定 eventType 的输入监听。可以动态移除某些输入事件以便释放资源或调整输入模式。

  5. GetInputInfo(UnityAction<InputInfo> callBack)
    设置一个回调函数,用于捕获下一次的输入操作(键盘或鼠标)。捕获到输入信息后,通过回调将信息传递给外部。

  6. InputUpdate()
    这个方法会在每一帧更新中执行,首先会判断是否有输入信息需要传递给外部(如果启用了输入检查)。如果有输入,则触发与之关联的事件。

示例用例:

假设我们在一个游戏中要监听角色的基本控制操作,如移动(WASD键)和攻击(鼠标左键),并实现自定义事件绑定和管理。下面展示如何通过 InputMgr 实现这些功能:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class InputExemple : MonoBehaviour
{private void Start(){InputMgr.Instance.StartOrCloseInputMgr(true);InputMgr.Instance.ChangeKeyboardInfo(E_EventType.E_Input_MoveForward, KeyCode.W, InputInfo.E_InputType.Always);InputMgr.Instance.ChangeKeyboardInfo(E_EventType.E_Input_MoveBackward, KeyCode.S, InputInfo.E_InputType.Always);InputMgr.Instance.ChangeKeyboardInfo(E_EventType.E_Input_MoveLeft, KeyCode.A, InputInfo.E_InputType.Always);InputMgr.Instance.ChangeKeyboardInfo(E_EventType.E_Input_MoveRight, KeyCode.D, InputInfo.E_InputType.Always);InputMgr.Instance.ChangeMouseInfo(E_EventType.E_Input_Attack,0, InputInfo.E_InputType.Always);EventCenter.Instance.AddEventListener(E_EventType.E_Input_MoveForward, MoveForward);EventCenter.Instance.AddEventListener(E_EventType.E_Input_MoveBackward, MoveBackward);EventCenter.Instance.AddEventListener(E_EventType.E_Input_MoveLeft, MoveLeft);EventCenter.Instance.AddEventListener(E_EventType.E_Input_MoveRight, MoveRight);EventCenter.Instance.AddEventListener(E_EventType.E_Input_Attack, Attack);}private void Attack(){Debug.Log("角色攻击!");}private void MoveRight(){Debug.Log("角色向右移动");}private void MoveLeft(){Debug.Log("角色向左移动");}private void MoveBackward(){Debug.Log("角色向后移动");}private void MoveForward(){Debug.Log("角色向前移动");}
}

流程说明:

  1. 开启输入检测系统

    • 调用 InputMgr.Instance.StartOrCloseInputMgr(true) 来开启输入监听。
  2. 注册输入事件

    • 使用 ChangeKeyboardInfo() 注册键盘 WASD 键的长按事件,表示角色移动操作。
    • 使用 ChangeMouseInfo() 注册鼠标左键的按下事件,表示角色攻击操作。
  3. 绑定事件回调

    • 使用 EventCenter.Instance.AddListener() 为每一个输入事件绑定一个对应的回调函数,如 MoveForward()Attack()
  4. 触发事件

    • 当用户按下或松开键盘或鼠标按钮时,InputMgr 自动检测并触发绑定在 EventCenter 上的事件逻辑。
http://www.yayakq.cn/news/252350/

相关文章:

  • 淘宝客合伙人网站建设房地产开发公司网站建设方案
  • 网站推广的目的上海网站建设浦东
  • 网站做搜索引擎的作用是什么网站建设 佛山
  • 中力建设网站做第三方seo优化网站
  • 关于做ppt的网站有哪些内容吗wordpress 循环菜单
  • 计算机网站开发就业形势污网站公司网站
  • 网站 界面产品经理兼职做网站报酬
  • 福建坤辕建设工程有限公司网站网站新闻中心模版
  • 如何编写一份网站开发需求文档怎么制作自己的网页网站
  • 网站建设工作室 需要营业执照吗白山镇seo快速排名
  • discuz绿色带门户手机网站模板什么网站会更有浏览量
  • 设计网站过程做网站要求付全款
  • 南昌网站建设制作返利网站建设
  • 立水桥网站建设十大搜索引擎地址
  • 河南整站关键词排名优化软件网站地图提交给百度
  • 绵阳免费网站建设简约型网站建设
  • 做个免费的网站太原做网站公司哪家好
  • 郑州网站建设乛汉狮网络wordpress支持视频
  • 天津建设项目招投标网站网站开发会计科目
  • 企业网站设计与优化汽车网站建设费用
  • 装饰网站建设方案网络营销的内容主要包括哪些方面
  • 多语言网站建设php做网站步骤
  • 公司创建网站销售wordpress 256m内存
  • 网站宝二级域名怎么设置门户网站优化怎么做
  • 网站建设公司信息网站开发工具特点总结
  • 网站开发总结800字什么网站ppt做的最好看
  • 青岛海川建设集团有限公司网站wordpress音悦台
  • 在阿里巴巴上做网站要多少钱Saas和wordpress有什么区别
  • 网站微信建设运维培训班广州网站建设网站制作公司
  • 帮别人做网站被抓怀远网站建设哪家好