用户输入- 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

 

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

 using UnityEngine;

 using System.Collections;

 /// 作者:邓家海

 /// 用户:DengJiaHai

 /// 创建日期:2017-01-10 22:50:52

 /// 修改:

 /// 版本:V 1.0.0.0

 //添加菜单名字

 [AddComponentMenu("Demo2/InputTest1")]

 public class InputTest : MonoBehaviour {

     // Use this for initialization

     void Start () {

     }

     // Update is called once per frame

     void Update () {

         if (Input.GetButton("Fire1"))

         {

             print("button");

         }

         if (Input.GetButtonDown("Fire1"))

         {

             print("down");

         }

         if (Input.GetButtonUp("Fire1"))

         {

             print("up");

         }

     }

 }

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

图 3-6

图 3-7

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

调试一下

图 3-8

vector3

图 3-9

图 3-10

图 3-11

 using UnityEngine;
using System.Collections; public class ExampleClass : MonoBehaviour {
void Slide(Transform target, Vector3 railDirection) {
Vector3 heading = target.position - transform.position;
Vector3 force = Vector3.Project(heading, railDirection);
GetComponent<Rigidbody>().AddForce(force);
}
}

图 3-12

 using UnityEngine;
using System.Collections; public class ExampleClass : MonoBehaviour {
public Transform startMarker;
public Transform endMarker;
public float speed = 1.0F;
private float startTime;
private float journeyLength;
void Start() {
startTime = Time.time;
journeyLength = Vector3.Distance(startMarker.position, endMarker.position);
}
void Update() {
float distCovered = (Time.time - startTime) * speed;
float fracJourney = distCovered / journeyLength;
transform.position = Vector3.Lerp(startMarker.position, endMarker.position, fracJourney);
}
}
 
 

用户输入- 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. H3C 各类路由默认优先级

  2. H3C 域名

  3. 2018-8-10-win10-uwp-进度条-WaveProgressControl

    title author date CreateTime categories win10 uwp 进度条 WaveProgressControl lindexi 2018-08-10 19:16:5 ...

  4. 【python安装】错误——“User installations are disabled via policy on the machine”

    报错界面: 解决方法一:  1.在运行里输入gpedit.msc;  2.计算机配置管理>>管理模板>>windows组件>>windows Installer&g ...

  5. 洛谷p-1522又是Floyd

    挺简单一个题,可惜当时没想到,有点巧妙丫! #include<cstdio> #include<iostream> #include<cstring> #inclu ...

  6. zabbix脚本监控mysql

    Zabbix监控mysql 1.1 客户端配置 1.1.1 安装客户端包 yum -y install unixODBC rpm -ivh zabbix-agent--.el6.x86_64.rpm ...

  7. jenkins+ant+jmeter自动化环境搭建

    jmeter:测试接口的工具,支持java语言: ant:Apache Ant是一个Java库和命令行工具,其任务是将构建文件中描述的进程作为相互依赖的目标和扩展点.只要使用过Linux系统的读者,应 ...

  8. ruby 输出彩色内容到控制台

    程序输出控制台时,为了区分输出信息的严重程度,可以使用颜色.符号等来做标识. ruby 也支持设置输出内容的颜色,比如运行以下代码: 以下内容是百度到的,因发现很多博客都是同样的写法,所以出处反而没法 ...

  9. mui选择器和软键盘冲突解决

    只需要让此节点失焦即可: onfocus="this.blur();"

  10. mysql报错1548-Cannot load from mysql.proc. The table is probably corrupted

    我的版本是5.5.53, 进入到MYSQL-front后,一点击localhost就报错 网上的例子都是说使用mysql_upgrade更新 但是我的是在phpstudy里的mysql,并没有mysq ...