• Unity3D_(游戏)控制物体的上、下、左、右移动


      通过键盘上↑、↓、←、→实现对物体的控制

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Gary_Text : MonoBehaviour {
    
        public Transform WuTi;
    
        public float speed = 1;
    
        // Use this for initialization
        void Start () {
            
        }
        
        // Update is called once per frame
        void Update () {
            //
            if(Input.GetKey(KeyCode.UpArrow))
            {
                transform.eulerAngles = new Vector3(0, 0, 0);
                transform.position += transform.forward * speed;
            }
            //
            else if (Input.GetKey(KeyCode.DownArrow))
            {
                transform.eulerAngles = new Vector3(0, 180, 0);
                transform.position += transform.forward * speed;
            }
            //
            else if (Input.GetKey(KeyCode.LeftArrow))
            {
                transform.eulerAngles = new Vector3(0, 270, 0);
                transform.position += transform.forward * speed;
            }
            //
            else if (Input.GetKey(KeyCode.RightArrow))
            {
                transform.eulerAngles = new Vector3(0, 90, 0);
                transform.position += transform.forward * speed;
            }
        }
    }
    Gary_Text.cs 控制物体移动脚本

    实现过程

      GameObject->3D Object->Sphere创建一个Sphere作为被移动物体对象

      在Sphere物体上绑定Gary_Text.cs脚本

      可以在工程界面修改游戏速度speed值,默认是1

       //引用控制移动物体脚本
        public Transform WuTi;
    
        //设置物体移动的速度,设置为public使在游戏界面可控制
        public float speed = 1;

      在Updata()中跟新物体的坐标

    void Update () {
            //
            if(Input.GetKey(KeyCode.UpArrow))
            {
                transform.eulerAngles = new Vector3(0, 0, 0);
                transform.position += transform.forward * speed;
            }
            //
            else if (Input.GetKey(KeyCode.DownArrow))
            {
                transform.eulerAngles = new Vector3(0, 180, 0);
                transform.position += transform.forward * speed;
            }
            //
            else if (Input.GetKey(KeyCode.LeftArrow))
            {
                transform.eulerAngles = new Vector3(0, 270, 0);
                transform.position += transform.forward * speed;
            }
            //
            else if (Input.GetKey(KeyCode.RightArrow))
            {
                transform.eulerAngles = new Vector3(0, 90, 0);
                transform.position += transform.forward * speed;
            }
        }

    ======分割线Σ(= =!)...=======

      工具栏Edit->Project Settings ->Input可打开输入设备管理器对用户

      Horizeontal -> 监听物体水平移动

      Vertival  ->监听物体竖直移动

      。。。。。。

      还很多,要学习

    (如需转载学习,请标明出处)
  • 相关阅读:
    区块链系列教程
    第三章 通过java SDK 实现个性化智能合约的部署与测试
    第一章 区块链系列 联盟链FISCO BCOS 底层搭建
    ABP 框架 数据库底层迁移 Mysql 集群
    ABP 框架代码批量生成器
    基于百度理解与交互技术实现机器问答
    微软人工智能和对话平台--知识商城体验
    基于百度AI实现 车牌识别
    最近整理AI相关感想
    百度OCR文字识别-身份证识别
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9652350.html
Copyright © 2020-2023  润新知