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游戏开发. 应该昨天表示,读了一 ...
随机推荐
- unity解压缩zip发布后的一些问题
前段时间项目需要,搞了下zip的解压缩问题,也是利用ICSharpCode.SharpZipLib.dll来处理的zip,这里说下之前遇到的坑(这里提供我用的这个库ICSharpCode.SharpZ ...
- python笔记24-os模块
import osprint(os.getcwd())#取当前工作目录#os.chmod('/usr/local',7)#给文件目录加权限,7是最高权限print(os.chdir(r"e: ...
- git clone 带用户名密码
git使用用户名密码clone的方式: git clone http://username:password@remote eg: username: abc@qq.com, pwd: test, ...
- eclipse中添加jstl标签支持(引入头)
https://blog.csdn.net/wangyuxuan_java/article/details/8580318
- 查询数据库游标使用情况以及sql
----查询游标使用情况以及游标最大数---- SELECT MAX(A.VALUE) AS HIGHEST_OPEN_CUR, P.VALUE AS MAX_OPEN_CUR FROM V$SESS ...
- jQuery的 ready() 和原生 Js onload() 的主要区别:
1. onload() 会等到DOM 元素和图片都加载完毕后才执行:raeady()会等到DOM元素加载完毕,但不会等到图片加载完毕就会执行. 2.onload() 如果编写了多个,则后面的会覆盖掉前 ...
- 测试使用 Open Live Writer写博客
这里测试文字的显示: 第一段 第二段 第三段 这里测试图片的显示: 这里测试视频的显示: 测试不了,是不是版权问题?
- 关于redis实现分布式锁
前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...
- Oracle学习DayOne(SQL初步)
一.DML.DDL.DCL SQL语句分为以下三种类型: DML: Data Manipulation Language 数据操纵语言DDL: Data Definition Language 数据定 ...
- web.1
<!DOCTYPE html><html><head><meta charset="utf-8"> <title>毛哥调 ...