用户输入- Unity3D游戏开发培训

 

作者:Jesai

时间:2018-02-12 14:28:45

用户输入Input

鼠标按键:

-方法:GetMouseButton();

-方法:GetMouseButtonDown()

-方法:GetMouseButtonUp()

-参数为int,0表示左键,1表示右键,2表示滚轮

键盘输入

-方法:GetKey()

-方法:GetKeyDown()

-方法:GetKeyUp()

-参数为KeyCode枚举,表示按的某个键

控制对象

控制对象的位置、旋转、缩放

位置:属性position,方法Translate()

旋转:方法Rotate() ,方法RotateAround()

缩放:属性localScale

类Vector3:表示三维向量,可以理解为三维空间中的点

-成员up、down、left、fight、forward、back、zero、one

Entity3D API

点击Help->Unity Manual

图 3-1

会在浏览器打开API文档.

图 3-2

图 3-3

新建两个场景.File->new Sence

图 3-4

 

新建一个空对象create->create Empty,命名script,reset一下Tranform

 

 

新建一个C#脚本,双击打开脚本

图 3-5

 

脚本原始的样子是这样的,什么也没有,只有两个方法:

  1. using UnityEngine;
  2.  
  3. using System.Collections;
  4.  
  5. /// 作者:邓家海
  6.  
  7. /// 用户:DengJiaHai
  8.  
  9. /// 创建日期:2017-01-10 22:50:52
  10.  
  11. /// 修改:
  12.  
  13. /// 版本:V 1.0.0.0
  14.  
  15. //添加菜单名字
  16.  
  17. [AddComponentMenu("Demo2/InputTest1")]
  18.  
  19. public class InputTest : MonoBehaviour {
  20.  
  21. // Use this for initialization
  22.  
  23. void Start () {
  24.  
  25. }
  26.  
  27. // Update is called once per frame
  28.  
  29. void Update () {
  30.  
  31. if (Input.GetButton("Fire1"))
  32.  
  33. {
  34.  
  35. print("button");
  36.  
  37. }
  38.  
  39. if (Input.GetButtonDown("Fire1"))
  40.  
  41. {
  42.  
  43. print("down");
  44.  
  45. }
  46.  
  47. if (Input.GetButtonUp("Fire1"))
  48.  
  49. {
  50.  
  51. print("up");
  52.  
  53. }
  54.  
  55. }
  56.  
  57. }

选中新建的script场景,然后Edit->Project Settings ->input,然后设置input的属性。

图 3-6

图 3-7

Window->Console  打开控制台,控制台一般用于打印错误消息或者调试。

调试一下

图 3-8

vector3

图 3-9

图 3-10

图 3-11

  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class ExampleClass : MonoBehaviour {
  5. void Slide(Transform target, Vector3 railDirection) {
  6. Vector3 heading = target.position - transform.position;
  7. Vector3 force = Vector3.Project(heading, railDirection);
  8. GetComponent<Rigidbody>().AddForce(force);
  9. }
  10. }

图 3-12

  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class ExampleClass : MonoBehaviour {
  5. public Transform startMarker;
  6. public Transform endMarker;
  7. public float speed = 1.0F;
  8. private float startTime;
  9. private float journeyLength;
  10. void Start() {
  11. startTime = Time.time;
  12. journeyLength = Vector3.Distance(startMarker.position, endMarker.position);
  13. }
  14. void Update() {
  15. float distCovered = (Time.time - startTime) * speed;
  16. float fracJourney = distCovered / journeyLength;
  17. transform.position = Vector3.Lerp(startMarker.position, endMarker.position, fracJourney);
  18. }
  19. }
  1.  
  1.  

用户输入- Unity3D游戏开发培训的更多相关文章

  1. Unity3D游戏开发培训

    Unity3D游戏开发培训 作者:Jesai 时间:2017-01-08 修改:2017-01-09 12:36:15 1         项目的构成 图1-1 如图1-1所示,Unity3D的项目构 ...

  2. 投影方式- Unity3D游戏开发培训

    投影方式- Unity3D游戏开发培训   作者:Jesai 2018-02-12 20:33:13 摘  要 透视投影是3D渲染的基本概念,也是3D程序设计的基础.掌握透视投影的原理对于深入理解其他 ...

  3. 内置3D对象-Unity3D游戏开发培训

    内置3D对象-Unity3D游戏开发培训 作者:Jesai 2018-02-12 19:21:58 五大面板: -Hierachy:当前场景中的物体 图 1-1 -Project:项目中的所有资源 图 ...

  4. Unity3D游戏开发初探—2.初步了解3D模型基础

    一.什么是3D模型? 1.1 3D模型概述 简而言之,3D模型就是三维的.立体的模型,D是英文Dimensions的缩写. 3D模型也可以说是用3Ds MAX建造的立体模型,包括各种建筑.人物.植被. ...

  5. Unity3D游戏开发从零单排(四) - 制作一个iOS游戏

    提要 此篇是一个国外教程的翻译,尽管有点老,可是适合新手入门. 自己去写代码.debug,布置场景,能够收获到非常多.游戏邦上已经有前面两部分的译文,这里翻译的是游戏的最后一个部分. 欢迎回来 在第一 ...

  6. [Unity3D]Unity3D游戏开发之异步记载场景并实现进度条读取效果

    大家好,我是秦元培.欢迎大家关注我的博客,我的博客地址是:blog.csdn.net/qinyuanpei.终于在各种无语的论文作业中解脱了,所以立即抓紧时间来这里更新博客.博主本来计划在Unity3 ...

  7. 2019年Unity3D游戏开发前景预测及总结

    由于现在随着互联网时代的到来,人们上网玩游戏的越来越多,导致游戏开发人才供不应求,如果你想成为一名优秀的开发者,那么掌握Unity3D开发技术是不可跳过的一环.随着移动互联网的发展,移动端游戏日益盛行 ...

  8. 从一点儿不会开始——Unity3D游戏开发学习(一)

    一些废话 我是一个windows phone.windows 8的忠实粉丝,也是一个开发者,开发数个windows phone应用和两个windows 8应用.对开发游戏一直抱有强烈兴趣和愿望,但奈何 ...

  9. Unity3D游戏开发之连续滚动背景

    Unity3D游戏开发之连续滚动背景 原文  http://blog.csdn.net/qinyuanpei/article/details/22983421 在诸如天天跑酷等2D游戏中,因为游戏须要 ...

随机推荐

  1. UPC个人训练赛第十五场(AtCoder Grand Contest 031)

    传送门: [1]:AtCoder [2]:UPC比赛场 [3]:UPC补题场 参考资料 [1]:https://www.cnblogs.com/QLU-ACM/p/11191644.html B.Re ...

  2. win10 uwp 在 VisualStudio 部署失败,找不到 Windows Phone 可能的原因

    在我使用 VisualStudio 调试的时候,发现我插入了手机,但是 VisualStudio 在部署的时候找不到手机. 可能的原因是 手机禁用了连接,第二个原因是可能手机驱动没正确让 Visual ...

  3. vue中 js获取图片尺寸 设置不同样式

    1.JS: 请求到后端数据后 判断图片尺寸 2.HTML代码 根据设置的类型,给图片添加不同的样式 3.CSS代码 添加不同尺寸的样式

  4. jQuery 工具类函数-检测两个节点的包含关系

    调用名为$.contains的工具函数,能检测在一个DOM节点中是否包含另外一个DOM节点,如果包含,返回true,否则,返回false值,调用格式为: $.contains (container, ...

  5. 2018-11-1-Windows-Community-Toolkit-3.0-新功能

    title author date CreateTime categories Windows Community Toolkit 3.0 新功能 lindexi 2018-11-1 9:2:55 + ...

  6. vue-learning:17- js - methods

    methods 函数是十分优雅的语言特性,它让我们可以采用可复用的方式存储一段逻辑,从而不用重复代码就可以在多处调用.函数.组件.模块等都有复用代码的考虑,函数应该是最早组织复用代码的实现. 在vue ...

  7. 2018-10-23-使用-Pandoc-把-Markdown-转-Docx

    title author date CreateTime categories 使用 Pandoc 把 Markdown 转 Docx lindexi 2018-10-23 10:56:18 +080 ...

  8. NuGet 如何设置图标

    在找 NuGet 的时候可以看到有趣的库都有有趣的图标,那么如何设置一个 NuGet 的图标 在开始之前,请在nuget官方网站下载 NuGet.exe 同时设置环境变量 环境变量设置的方法就是将 N ...

  9. <Codeforce>1082A. Vasya and Book

    题目描述: Vasya is reading a e-book. The file of the book consists of nn pages, numbered from 11 to nn. ...

  10. (转)学习C语言基本思路与参考书籍

    计算机行业发展非常快,大学里的教育基本都跟不上实际的社会需求.如果你所在的学校还在指定大家使用谭浩强的教材,或使用VC6.0来教大家上机实验,那你不妨看看本文,这里有一些建议可以帮助你不会脱离社会太远 ...