Unity脚本系统
什么是脚本?脚本是一个 MonoBehavior, 继承关系是
MonoBehavior -> Behavior -> Component -> Object
GameObject 的行为是由附加到他们身上的组件控制的。
游戏事件
MonoBehavior
类名和脚本名必须要一样
public class MainPlayer : MonoBehaviour {
public string myName;
// Use this for initialization
void Start () { }
// Update is called once per frame
void Update ()
{ }
}
不可以有构造函数。对象的创建是由编辑器创建的,并不是在游戏开始时创建的。
GetComponent 函数:脚本本身是一个组件,调用 GetComponent 函数是取同属本GameObject对象的另一个组件,就是取兄弟组件。
所以,在脚本中使用 transform 变量是什么意思呢?就是 transform = GetBelongGameObject().GetComponent<Transform>();
void Start () {
transform.position = Vector3.zero;//本来应该是通过 GetComponent() 函数来获取 transform 组件,但是因为这个组件太常用了,所以就用一个变量直接存起来了。
// 内置的脚本组件对象可以在 MonoBehavior 文档中查看。
}
public class Enemy : MonoBehaviour {
public GameObject player; // 在当前component存储其他对象的引用
public Transform strans; // 在当前component存储其他component类型的变量,在这种情况下,你可以在编辑器中把任何包含 Transform 这个组件的对象赋给这个变量!
void Start() {
// Start the enemy ten units behind the player character.
// 仍然可以访问 player.GetComponent()
transform.position = player.transform.position - Vector3.forward * 10f;
}
}
查找子对象
Transform lst = new Transform[transform.childCount];
for (Transform t in transform) {
lst[i++] = t;
}
Unity脚本系统的更多相关文章
- Unity 脚本系统
什么是脚本?脚本是一个 MonoBehavior, 继承关系是 MonoBehavior -> Behavior -> Component -> Object GameObject ...
- 【Unity Shaders】使用Unity Render Textures实现画面特效——建立画面特效脚本系统
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- 5. Unity脚本的执行顺序
Unity是不支持多线程的,也就是说我们必须要在主线程中操作它,可是Unity可以同时创建很多脚本,并且可以分别绑定在不同的游戏对象身上,他们各自都在执行自己的生命周期感觉像是多线程,并行执行脚本的, ...
- Unity 脚本的未来发展
新技术之IL2CPP 最近,我们谈到了Unity 的WebGL . 在那篇文中我们简要谈论到脚本在 WebGL 中的运行的新技术称为"IL2CPP" .然而IL2CPP 所代表的 ...
- Unity脚本在层级面板中的执行顺序测试3
断断续续的写了3篇,以后有时间可以做成一个系列了 前面2篇测试了GameObject的顺序,以及Awake和OnEnable的时机: Unity脚本在层级面板中的执行顺序测试1 http://www. ...
- Unity脚本在层级面板中的执行顺序测试4-附加整理
测试4为一些附加内容,后续的各种tips都加在此. 前几篇测试的链接: Unity脚本在层级面板中的执行顺序测试1 http://www.cnblogs.com/hont/p/4298110.html ...
- 三维软件转Unity的系统单位设置研究
Unity的系统单位为米,其他3D软件的模型导入,而保持和Unity的比例一致是非常重要的,下面对各软件进行测试: ㈠. 3dsmax 转 Unity的比例为100:1:也就是说Unity单位是3ds ...
- 修改Unity脚本模板的方法合计
作为一个习惯于偷懒的程序,重复性的无聊内容是最让人无奈的事,就比如我们创建Unity脚本之后,需要手动调整生成的新脚本的格式.编码.内容:如果我们要编写的是编辑器或者服务器端脚本,需要修改的内容就会更 ...
- RPG游戏学习——1.任务脚本系统
[前言] 近期准备做个rpg小游戏,所以開始研究rpg的一些系统.rpg最核心的应该是任务脚本系统(其它脚本系统类似),在參考了非常多网上的资料后,简要总结例如以下. [脚本的触发运行] 一个脚本须要 ...
随机推荐
- POJ 2752 - Seek the Name, Seek the Fame (KMP)
题意:给一个字符串s,问s的某个前缀与后缀相同的情况时,长度是多少. 此题使用KMP的next数组解决. next数组中,j=next[i],next[i]表示S[0...i-1]的某个后缀(字符串S ...
- JS 验证一组input框是否为空的方法
function checkInput() { var $tr = $("#tb_confirmed .scrollContent").find("tr"); ...
- EditText提示文字
如图,在没有输入文字前,会显示提醒文字. 引用的是文本文件(strings.xml)中的对应文字 activity_main.xml对应的红色代码: <?xml version="1. ...
- (转)HTML5开发学习(2):本地存储之localStorage 、sessionStorage、globalStorage
原文:http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416386.html HTML5开发学习(2):本地存储之localStorage ...
- 多比Web 3D展示(3D机房/3D监控)中间件多比Web 3D展示(3D机房/3D监控)中间件免费下载购买地址
多比3D是实现3D场景搭建的软件开发包,可以创建广泛的3D应用,适用于高端制造.能源.国防军工.教育科研.城市规划及建筑环艺.生物医学等领域的虚拟仿真,应用于虚拟展示.虚拟设计.方案评审.虚拟装配.虚 ...
- Unity C#和OC互相调用
Unity 两种方式 一般都是组合使用 1.[DllImport("__Internal")] C#调用oc 2.UnitySendMessage oc调用C# ...
- 定时同步时间与crontab
date 月日时分年.秒date -s可以直接设置系统时间 比如将系统时间设定成1996年6月10日的命令如下.#date -s 06/10/96将系统时间设定成下午1点12分0秒的命令如下.#dat ...
- Js运算符优先级
1.. [] {} 提取属性与函数调用 2. delete new typof + - ! 一元运算符 3. * / % 乘法.除法.求余 4. + - 加法/连接.减法 5.>= &l ...
- utf8与utf-8的区别
相信很多程序员刚开始也会有这样的疑惑,如题,我也是. 其实,他们可以这样来区分. 一.在php和html中设置编码,请尽量统一写成“UTF-8”,这才是标准写法,而utf-8只是在wind ...
- (void*)0 的理解
例如: #define NULL ((void *)0) 用来定义无效的指针 (void *)0 就是将0强制转化为(void *)类型的指针 char *ch = (void *)0;//ch指向地 ...