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游戏开发. 应该昨天表示,读了一 ...
随机推荐
- redi应用-延时队列
有mq和Kafka,,一般用不上,,两个线程 ..基于Redis 的 list(列表),使用rpush/lpush操作入队列,使用lpop 和 rpop来出队列.
- Java中java.util.concurrent包下的4中线程池代码示例
先来看下ThreadPool的类结构 其中红色框住的是常用的接口和类(图片来自:https://blog.csdn.net/panweiwei1994/article/details/78617117 ...
- JAVA 平时作业二
编写一个 Java 应用程序,统计数组{1,3,4,7,2,1,1,5,2,5,7,2,1,1,3},统 计显示每种数字其出现的次数以及出现最多和最少次数的数字 public class Number ...
- AsyncTask 进行耗时操作和UI 更新
相信各位对 AsyncTask 不会陌生,虽然它有如下弊端: 1. 如果在activiy内部new 一个AsyncTask, 横竖屏切换生成一个新的activity,等结果返回时,处理不好容易出现NP ...
- Note of Jieba
Note of Jieba jieba库是python 一个重要的第三方中文分词函数库,但需要用户自行安装. 一.jieba 库简介 (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容 ...
- ASP.NET Core2.2 多用户验证和授权
asp.net core2.2 用户验证 和授权有很详细和特贴心的介绍,我感兴趣的主要是这两篇: cookie身份验证 基于角色的授权 我的项目有两类用户: 微信公众号用户,用户名为公众号的openi ...
- 【转载】linux top命令查看内存及多核CPU的使用讲述
转载 https://www.cnblogs.com/dragonsuc/p/5512797.html 查看多核CPU命令 mpstat -P ALL 和 sar -P ALL 说明:sar -P ...
- 编写一个求和函数sum,使输入sum(2)(3)或输入sum(2,3),输出结果都为5
昨天的笔试题,做的一塌糊涂,题目考的都很基础而且很细,手写代码对我来说是硬伤啊.其中有一道是这个,然而看到题目的时候,根本没有想到arguments:然后现在就恶补一下. arguments:用在函数 ...
- FCC-js算法题解题笔记
题目链接:https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/intermediate-algorithm ...
- Spring Boot 与 swagger 结合
. 配置pom.xml 2. 更改端口号, 在src/main/resources 下面添加一个application.yml文件. 3. 添加一个ModelCase entity. 4. 添加一个i ...