同时按住两个键

本文介绍了一个Unity中用于控制物体移动的脚本。通过枚举定义了八个移动方向,并设置了对应的键盘输入常量。脚本包括检测输入、确定移动方向和实际移动物体的函数,实现了基于键盘输入的物体移动控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把该脚本直接托给要移动的物体即可

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MyInput : MonoBehaviour
{
//移动方向枚举
enum MoveDir
{
None,//不动
Up,//上8
Down,//下2
Left,//左4
Right,//右6
UL,//左上7
UR,//右上9
DL,//左下1
DR,//右下3
}

//输入按键常量(之后走配置)
const KeyCode INPUT_UP = KeyCode.W;
const KeyCode INPUT_DOWN = KeyCode.S;
const KeyCode INPUT_LEFT = KeyCode.A;
const KeyCode INPUT_RIGHT = KeyCode.D;

//默认移动方向
private MoveDir moveDir = MoveDir.None;
//按压记录
private bool isUpPress = false;
private bool isDownPress = false;
private bool isLeftPress = false;
private bool isRightPress = false;

//是否可以移动
private bool canMove = true;
//右移动
private Vector3 MOVE_RIGHT = new Vector3(1, 0, 0);
//上移动
private Vector3 MOVE_UP = new Vector3(0, 0, 1);

//外部调控速度
public float speed = 2f;
//移动速度向量
private Vector3 move_speed_dir = Vector3.zero;
//移动距离
private Vector3 move_dis = Vector3.zero;

//控制目标
public Transform target;

void Update(https://www.qqtn.com/wm/nanshengwm_3.html)
{
CheckInputKey();
CheckMoveDir();
}
void FixedUpdate()
{
CheckMove(http://www.amjmh.com);
}
//检测输入按键
void CheckInputKey()
{
//检测单一输入
foreach (KeyCode kcode in System.Enum.GetValues(typeof(KeyCode)))
{
--------------------- 

转载于:https://www.cnblogs.com/hyhy904/p/11277807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值