U3D脚本开发基础
1.MonoBehaviour类,定义了对各种特定事件的脚本响应函数。这些函数均以On做开头。

2.U3D中常用的组件及对应变量名如下:
Transform(transform),Rigidbody(rigidbody),Renderer(renderer),Light(light),Camera(camera),Collider(collider),Animation(animation),Audio(audio)。
如果游戏对象上不存在某个组件,那么其对应值为null。
若要访问自定义组件,通过以下几个函数:
GetComponent; //得到组件
GetComponents;//得到组件列表
GetComponentInChildren; //得到对象子物体的组件
GetComponentsInChildren;//得到对象子物体的组件列表
3.除了获得组件,还需要访问对象。可以通过名称查找或标签查找来获得。
GameObject.Find("name");
GameObject.FindWithTag("Tag");
常用脚本API:
1.Transform组件决定了游戏对象的位置,方向和缩放比例。游戏中设置玩家位置,相机观察角度都要和Transform组件打交道。
2.Time类,可以计算帧速率,调整时间流逝速度等等。
3.Random类,可以用来生成随机数,随机点或旋转。
4.Mathf类,提供了常用的数学运算。
5.Coroutine协程。协程可以和主程序并行运行,和多线程类似,但某个时刻只能有一个协程在运行,别的协程挂起。可以实现一段程序等待一段时间后,继续执行的效果。
StartCoroutine() //启动一个协程
StopCoroutine() //终止一个协程
StopAllCoroutines()//终止所有协程
WaitForFixedUpdate()//等待直到下一次FixedUpdate调用
WaitForSeconds() //等待若干秒
在C#中,其返回类型必须为IEnumerator。如以下:
using UnityEngine;
using System.Collections; public class backg : MonoBehaviour
{
// Use this for initialization
IEnumerator Start()
{
print("Starting:" + Time.time);
yield return StartCoroutine(WaitAndPrint());
print("Done:" + Time.time); } IEnumerator WaitAndPrint()
{
yield return new WaitForSeconds(3f);
print("WaitAndPrint:" + Time.time);
} }
U3D脚本开发基础的更多相关文章
- 【Unity】第6章 Unity脚本开发基础
分类:Unity.C#.VS2015 创建日期:2016-04-16 一.简介 游戏吸引人的地方在于它的可交互性.如果游戏没有交互,场景做得再美观和精致,也难以称其为游戏. 在Unity中,游戏交互通 ...
- [原]Unity3D深入浅出 - 脚本开发基础(Scripts)
常用脚本事件: Update:每帧调用一次 Start:在第一次Update执行前调用 Awake:脚本实例在创建时调用 FixedUpdate:每个固定物理时间间隔调用一次 LateUpdate:每 ...
- U3D游戏开发基础
向量: 1. 向量的长度,即向量的模.计算公式为向量各个分量的平方和,然后开平方. 在D3DX库中,方法为:FLOAT D3DXVec3Length(CONST D3DXVECTOR3 * pV) ...
- Unity脚本开发基础 C#
1. MonoBehaviour 类 常用事件响应函数: 2. 访问游戏对象 (1) 通过名称来查找 (2) 通过标签来查找 上述函数比较费时,应避免在 Update 函数调用. 3. 访问组件 对于 ...
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- 网络统计学与web前端开发基础技术
网络统计学与web前端开发基础技术 学习web前端开发基础技术(网页设计)需要了解:HTML.CSS.JavaScript三种语言.下面我们就来了解一下这三门技术在网页设计中的用途: HTML是网页内 ...
- IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- Python运维开发基础03-语法基础 【转】
上节作业回顾(讲解+温习60分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen #只用变量和字符串+循环实现“用户登陆 ...
随机推荐
- 2015 Multi-University Training Contest 3
1001 Magician 线段树.根据奇偶性分成4个区间.维护子列和最大值. 想法很简单.但是并不好写. 首先初始化的时候对于不存在的点要写成-INF. 然后pushup的时候.对于每个区间要考虑四 ...
- php笔记(一)面向对象编程
<?php //定义一个类 class Car { var $name = '汽车'; function getName() { return $this->name; } } //实例化 ...
- 新版本的jquery checkbox 全选反选代码只能执行一遍,第二次就失败attr与prop区别
$("#all_check").click(function() { $("input[name='checkShop[]']").attr("che ...
- 如何在Eclipse和MyEclipse中安装SVN
在安装目录下,找到dropins文件夹将svn文件复制进去.
- Xcode最最实用快捷键
转发:http://www.open-open.com/lib/view/open1397988745593.html 关于与mac 通用的快捷键网上太多,就不说了,下面介绍一些大家不是很熟悉但是 ...
- javascript 如何正确使用getElementById,getElementsByName(), and getElementsByTagName()
WEB标准下可以通过getElementById(), getElementsByName(), and getElementsByTagName()访问DOCUMENT中的任一个标签. (1)get ...
- JS电子文档链接
http://www.oschina.net/translate/learning-javascript-design-patterns 学用 JavaScript 设计模式 http://es6 ...
- JavaScript在智能手机上的应用-使用手机GPS定位用户所在城市
---------------------------- <script type="text/javascript" language="javascript&q ...
- 编写程序,从vector<char>初始化string
#include<iostream> #include<string> #include<vector> using namespace std; int main ...
- implement a system call in minix
http://www.papervisions.com/implementing-system-call-in-minix-os/