1.使用脚本控制模型的移动 --《Unity 3D 游戏开发》笔记
由于最新版的unity已经不支持javascript语言啦,本人又是个C#小白,所以记录一下自己写的脚本。
first 创建一个模型,放在平面上,调整下角度,就像这样:

然后写一个脚本来控制模型移动:
public class NewBehaviourScript : MonoBehaviour {
//首先定义两个变量,public是公有变量,在程序中可以直接访问,私有变量只能在脚本中访问
//此处定义模型移动速度以及模型旋转速度
public int TranslateSpeed = ;
public int RotateSpeed = ;
//OnGUI方法绘制页面组件
void OnGUI()
{
//设置GUI背景颜色
GUI.backgroundColor = Color.red;
//GUI.Button设置一个按钮,返回true时表示按钮被按下
//Rect一个由X和Y位置、宽度和高度定义的2D矩形
if (GUI.Button(new Rect(, , , ), "向左旋转"))
{
//向左旋转模型
transform.Rotate(Vector3.up * Time.deltaTime * (-RotateSpeed));
//transform为当前绑定模型的变换对象
//Vector3.up = Vector3(0, 1, 0)
//Vector3表示三维向量x,y,z,此处向左旋转,括号中负号应该表示沿y轴逆时针
//Time.deltaTime只读属性,表示完成最后一帧的时间,单位为秒
}
if (GUI.Button(new Rect(, , , ), "向前移动"))
{
//向前移动模型
transform.Translate(Vector3.forward * Time.deltaTime * TranslateSpeed);
//Vector3(0, 0, 1)
}
if (GUI.Button(new Rect(, , , ), "向右旋转"))
{
//向右旋转模型
transform.Rotate(Vector3.up * Time.deltaTime * RotateSpeed);
}
if (GUI.Button(new Rect(, , , ), "向后移动"))
{
//向后移动模型
transform.Translate(Vector3.forward * Time.deltaTime * (-TranslateSpeed));
}
if (GUI.Button(new Rect(1, , , ), "向左移动"))
{
//向左移动模型
transform.Translate(Vector3.right * Time.deltaTime * (-TranslateSpeed));
//Vector3(1, 0, 0)
}
if (GUI.Button(new Rect(170, , , ), "向右移动"))
{
//向右移动模型
transform.Translate(Vector3.right * Time.deltaTime * TranslateSpeed);
}
//GUI.Label设置一个文本框
//显示模型位置信息
GUI.Label(new Rect(, , , ), "模型的位置" + transform.position);
//显示模型旋转信息
GUI.Label(new Rect(, , , ), "模型的旋转" + transform.rotation);
}
}
脚本写完了以后会发现我们定义的变量出现在模型的属性栏里了

然后点击play,就出现了这样的界面:

我把脚本绑定在立方体上啦,点击左上角的按钮它就会到处跑哦,由于我给它添加了刚体属性,还会撞到其它模型,real有趣
emmm第一个实例 完成~
撒花~✿✿ヽ(°▽°)ノ✿
1.使用脚本控制模型的移动 --《Unity 3D 游戏开发》笔记的更多相关文章
- Unity 3D游戏开发学习路线(方法篇)
Unity 3D本来是由德国的一些苹果粉丝开发的一款游戏引擎,一直只能用于Mac平台,所以一直不被业外人士所知晓.但是后来也推出了2.5版,同时发布了PC版本,并将其发布方向拓展到手持移动设备.Uni ...
- Unity 3D游戏开发引擎:最火的插件推荐
摘要:为了帮助使用Unity引擎的开发人员制作更完美的游戏.我们精心挑选了十款相关开发插件和工具.它们是:2D Toolkit.NGUI.Playmaker.EasyTouch & EasyJ ...
- 【Unity】1.0 第1章 Unity—3D游戏开发和虚拟现实应用开发的首选
分类:Unity.C#.VS2015 创建日期:2016-03-23 一.简介 Unity是跨平台2D.3D游戏和虚拟现实高级应用程序的专业开发引擎,是由Unity Technologies公司研制的 ...
- 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门演示样例
一. 工作区域具体解释 1. Scence视图 (场景设计面板) scence视图简单介绍 : 展示创建的游戏对象, 能够对全部的游戏对象进行 移动, 操作 和 放置; -- 演示样例 : 创建一个球 ...
- 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例
一. 工作区域详解 1. Scence视图 (场景设计面板) scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置; -- 示例 : 创建一个球体, 控制摄 ...
- 3.GUI Skin和自定义风格的组件 --《UNITY 3D 游戏开发》笔记
自定义皮肤还是很受女孩子欢迎的吧,这样操作一下界面是不是就可以变得美美哒了~ 先pick一下测试代码: public class GUISkinScript : MonoBehaviour { //自 ...
- 2.GUI控件的使用 --《UNITY 3D 游戏开发》笔记
1.Label 控件 编写脚本文件,直接绑定在main camera上 public class labelScript : MonoBehaviour { //设定一个值来接收外部赋值的字符串 pu ...
- 《unity 3D 游戏开发 第二版》宣雨松 分享 pdf下载
链接:https://pan.baidu.com/s/1LfRTGUmaE_lGdcmd6QiZkg 提取码:e2sn
- Unity 3D 建立开发环境
之后的基本方向 ios游戏开发,基础教程http://www.devdiv.com/unity_d_-thread-128068-1-1.html,学习Unity 3D游戏开发. 应该昨天表示,读了一 ...
随机推荐
- python机器可读数据-json
导入JSON数据相对简单.下面为打开.加载.导入.输出的操作. import json data = open('data.json').read() data = json.loads(data) ...
- 构建--> 部署-->
这一篇中我们会写一些关于自动化部署的代码.我们会使用 Powershell 书写这类代码. 你将发现这篇文章中涉及的东西非常具体,有的要求甚至相当苛刻且可能不具有通用性.这是因为部署从来都是跟环境打交 ...
- swiper 父级元素display:none 之bug
问题描述: 同一个页面,点击底部tab按钮切换div的显示与隐藏,点击到第四个页面时 轮播图总是不动,出bug function start(){ var mySwiper = new Swiper( ...
- Strut2第一章
一.Struts2的执行流程: 用户提交一个请求,服务器接收,交给Struts2的核心过滤器进行处理,Struts2的过滤器调用Struts2的一系列处理器来处理(如:解析struts.xml配置文件 ...
- java面向对象编程--Josephu问题(丢手帕问题)
Josephu问题为:设编号为1,2,...n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推 ...
- Java Web安全之程序逻辑缺陷
Java Web程序逻辑缺陷本质是由于程序设计和开发者设计的程序执行逻辑存在某种缺陷而导致的安全隐患.企业的代码审查和渗透测试通常主要针对的大多是诸如xss攻击和sql注入和跨站点脚本这些头条式漏洞, ...
- python笔记——遇到一些报错
1.TypeError: data type not understood File "C:\Users\81476\PycharmProjects\untitled1\k-临近算法\kNN ...
- JavaScript Node节点笔记
1. 节点及其类型: 1). 元素节点 2). 属性节点: 元素的属性, 可以直接通过属性的方式来操作. 3). 文本节点: 是元素节点的子节点, 其内容为文本. 2. 在 html 文档的什么位置编 ...
- django 模型操作
# 添加 Fruit.objects.create(name='Apple') # 更新 UserProfile.objects.filter(user=admin).update(**{'onlin ...
- HslCommunication组件库使用说明 (转载)
一个由个人开发的组件库,携带了一些众多的功能,包含了数据网络通信,文件上传下载,日志组件,PLC访问类,还有一些其他的基础类库. nuget地址:https://www.nuget.org/packa ...