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 #只用变量和字符串+循环实现“用户登陆 ...
随机推荐
- 免费开源的boostrap模板
百度查不到,奶奶的,百度好多国外技术类文章的都查不到 https://colorlib.com/wp/free-html5-admin-dashboard-templates/ 有没有FQ软件介绍呀?
- 域名、网站名、url的定义
网址:http://jingyan.baidu.com/article/2c8c281df0afd00008252aa7.html
- 如何通过Maven的Jetty插件运行Web工程
首先建议使用jetty9,因为据官方文档显示,Jetty 7 and Jetty 8 are now EOL (End of Life),如下.但是由于项目使用的版本一般都比较低,这里以jetty8为 ...
- HDU2544-最短路(最短路模版题目)
Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要 ...
- Linux下tar bz gz等压缩包的压缩和解压
Linux下用户经常需要备份计算机系统中的数据,为了节省存储空间,常常将备份文件进行压缩,本文是对压缩和解压命令的大致总结 .tar.gz 解压:tar zxvf FileName.tar.gz ...
- jquery操作HTML5 的data-*的用法实例分享
.mm{width:256px; height:200px;} .mm[data-name='张含韵']{background:url(http://image.zhangxinxu.com/imag ...
- ob_get_contents()
ob_start();//buf1 echo 'multiple'; ob_start();//buf2 echo 'bufferswork'; $buf2 = ob_get_contents(); ...
- JS进阶书籍
http://blog.csdn.net/bingqingsuimeng/article/details/40535291 本来想尝试每天回答或看已解决的3个问题来学习总结今天的知识点,看了下博文里面 ...
- foreach 跟volist 有什么区别?
<foreach name="list" item="vo">{$vo.id}{$vo.name}</foreach>Foreach标签 ...
- linux中的 tar命令的 -C 参数,以及其它一些参数(转)
linux中的 tar命令的 -C 参数,以及其它一些参数 复制源:http://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.htmltar命令 ...