Unity中C#代码学习用wasd和上下左右键控制物体前后左右上下移动和绕轴旋转

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class wasd上下 : MonoBehaviour
{public GameObject chedao;public GameObject dizuo;public GameObject zhuanpan;public GameObject center;public GameObject shangti;//定义物体public float speed = 0.1f;public float Angels=1;//定义移动速度和旋转速度// Start is called before the first frame update// Update is called once per framevoid FixedUpdate()//用fixedupdate中0.02秒更新一次(不过后面用的Time.deltaTime不知道受不受这个影响){//前后移动的部分if (Input.GetKey(KeyCode.W))//如果键盘按下W键{ chedao.transform.localPosition = new Vector3(chedao.transform.localPosition.x , chedao.transform.localPosition.y + Time.deltaTime * speed, chedao.transform.localPosition.z); }//chedao物体的局部坐标改变,X不变,Y方向改变1秒钟乘以speed的值是移动的速度,Z不变if (Input.GetKey(KeyCode.S)){ chedao.transform.localPosition = new Vector3(chedao.transform.localPosition.x, chedao.transform.localPosition.y - Time.deltaTime * speed, chedao.transform.localPosition.z); }//dizuo移动部分if (Input.GetKey(KeyCode.A)){ dizuo.transform.localPosition = new Vector3(dizuo.transform.localPosition.x- Time.deltaTime * speed,dizuo.transform.localPosition.y,dizuo.transform.localPosition.z); }if (Input.GetKey(KeyCode.D))//zhuanpan转动部分{dizuo.transform.localPosition = new Vector3(dizuo.transform.localPosition.x + Time.deltaTime * speed, dizuo.transform.localPosition.y, dizuo.transform.localPosition.z); }//——————————————上下左右箭头操作————————————————————————————————————————if (Input.GetKey(KeyCode.LeftArrow))//底盘顺时针旋转(左箭头){ zhuanpan.transform.RotateAround(center.transform.position, Vector3.up, Angels * Time.deltaTime); }//选装用transform.RotateAround这个方法(旋转物体,用了tramsform.RotateArpindlz里面的参数,画图的位置对象,center.transform.position是旋转的中心也就是绕谁旋转,Vector3.up是指定了一个轴(是center对象的x轴,会绕x轴进行旋转),最后是移动速度和旋转数度)if (Input.GetKey(KeyCode.RightArrow))//底盘逆时针旋转(右箭头){ zhuanpan.transform.RotateAround(center.transform.position, Vector3.down, Angels * Time.deltaTime); }if (Input.GetKey(KeyCode.UpArrow))//上体上移(上箭头){ shangti.transform.localPosition = new Vector3(shangti.transform.localPosition.x, shangti.transform.localPosition.y , shangti.transform.localPosition.z - Time.deltaTime * speed); }if (Input.GetKey(KeyCode.DownArrow))//上体下移(下箭头){ shangti.transform.localPosition = new Vector3(shangti.transform.localPosition.x, shangti.transform.localPosition.y , shangti.transform.localPosition.z + Time.deltaTime * speed); }}
}

Unity中C#代码学习用wasd和上下左右键控制物体前后左右上下移动和绕轴旋转相关推荐

  1. Unity中使用代码将预制加载到场景

    Unity中使用代码将预制加载到场景 大家知道, 在日常修改预制的时候很方便, 我们将预制从资源文件夹往场景上"一拖", 然后就可以进行修改, 然后应用保存即可. 但是如果某些需求 ...

  2. 游戏程序设计中有趣的绕轴旋转

    前言 在游戏设计中,绕轴旋转综合了位移与旋转两种空间变化,即在通过位移变换得到宏观旋转的效果的同时,物体自身的旋转来保证正确的轴向对齐.在对这一过程执行推导演绎时会设计到一些基本的高中几何数学知识 如 ...

  3. 【Unity】UGUI超级简单的摇杆制作,摇杆控制物体移动

                [Unity]UGUI超级简单的摇杆制作,摇杆控制物体移动 目录 1.效果展示 2.博客介绍 3.具体内容和思路 (1)摇杆制作 (2)移动控制 4.资源包下载 5.推送 6. ...

  4. java 上下键_用键盘的上下左右键控制JAVA SWING UI中的组件的移动等事件 | 学步园...

    用键盘的上下左右键控制JAVA SWING UI中的组件的移动等事件 import java.awt.*; import java.awt.event.*; import javax.swing.*; ...

  5. unity中通过代码控制游戏中画质

    最近在开发项目的时候突然想到可以添加一个调整画质的按钮或者DropDown或者Slider的UI来控制游戏中的画质 因为我之前写过一篇关于DropDown的使用方法的博客 DropDown的使用方法地 ...

  6. 测试Unity中常用代码的运行所用时间:三维向量和变换位移篇 #性能测试 #Vector3 #tranform.position

    C# Vector3 和 transform.position 篇 〇.前言 系统自带计时器 -System.Diagnostics.StopWatch- 的使用 一.三维向量测试 1. 三维向量的函 ...

  7. 测试Unity中常用代码的运行所需时间:循环和函数篇 #性能测试 # for,foreach,while循环 #委托事件

    C# 循环和函数篇 〇.前言 系统自带计时器 -System.Diagnostics.StopWatch- 的使用 一.循环类型测试 1. for 循环测试 (1). 前后置自增自减测试 (2). 与 ...

  8. 【《Effective C#》提炼总结】提高Unity中C#代码质量的21条准则

    原则1   尽可能地使用属性而不是可直接访问的数据成员         ● 属性(property)一直是C#语言中比较有特点的存在.属性允许将数据成员作为共有接口的一部分暴露出去,同时仍旧提供面向对 ...

  9. 3.Unity中c#代码学习(按键+屏幕和三维坐标转换+组件的调用)

     if (Input.GetMouseButtonDown(0)) 0左键 1右键 2中键 判断鼠标按下         鼠标事件只触发一次 if (Input.GetMouseButtonUp(0) ...

最新文章

  1. 【算法学习笔记】35.高精度 竖式乘法 SJTU OJ 1274
  2. [仙剑四]仙剑四十大经典语句评析
  3. 网络编程学习笔记(freeaddrinfo函数)
  4. 华科计算机国家专项分数线,5所985高校中招,华科、中大被捡漏,专项计划录取异常,原因透析...
  5. 【数字智能三篇】之二: 一页纸说清楚“什么是推荐系统?”
  6. Qt 可编辑的树模型(Tree Model)的一个实例
  7. jQuery获取Table某列的值
  8. Silverlight智能表单(3)之XML存储
  9. 5G时代的无线宽带新技术
  10. Python学习 Day 2-数据类型和变量
  11. rancher 使用部分运维操作
  12. javacv解码、录制视频,保存图片
  13. 给大家推荐一款非常好用的表单验证插件:lr-verify.js
  14. mariadb修改默认字符集
  15. android无法实例化服务器,android – 无法实例化类型PagerAdapter
  16. Coolite Toolkit学习笔记二:服务器端Alert,Confirm,Prompt
  17. 文件系统驱动(IFS DDK)学习笔记
  18. Bootstrap知识点概述
  19. URP实现毛玻璃效果一
  20. Python项目实战:绕圈圈面试题

热门文章

  1. 网站建设的“干货”?
  2. Microsoft Word error crash solution (Word闪退后找回文档指南)
  3. leetcode 45.跳跃游戏 II
  4. idea安装RestfulToolkit-fix插件后无法启动
  5. Unity场景美术资源优化,可以从这几方面着手
  6. C# 调用CodeSoft 方法
  7. “守住养老钱·幸福享晚年”
  8. 六问解密慢公司:豆瓣到底是什么?(转 chinaz)
  9. VB.NET C#枚举 描述 中文 ComponentModel.Description DescriptionAttribute
  10. Nginx 实现负载均衡、限流、缓存、黑白名单和灰度发布,这是最全的一篇了!