zoukankan      html  css  js  c++  java
  • 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  ->监听物体竖直移动

      。。。。。。

      还很多,要学习

    (如需转载学习,请标明出处)
  • 相关阅读:
    团队项目-Beta冲刺(第一周)
    个人第4次作业—Alpha项目测试
    团队项目——Alpha发布2
    优课堂考勤系统——Alpha发布1
    优课堂—系统设计
    优课堂—需求分析
    thrift学习笔记
    APP分享
    ActionBar
    ListView添加headview
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9652350.html
Copyright © 2011-2022 走看看