unity3d 学习笔记(三)
工作现场查看:
飞行模式: 按住鼠标右键 w s a d 围绕浏览当前视图, q e 上下浏览。 交模式下无效 需透视图
移动吸附:移动状态(w) ctrl+shif 移动吸附在其它物体上移动
顶点吸附:移动状态(w)v 键 移动吸附在其它物体上移动
特定的增量移动: 移动状态(w) ctrl ,按特定的增量移动, 能够设置增量 Edit-snapSettings.
Unity脚本的使用
void Start () {
ScriptB sb = GetComponent<ScriptB>();
sb.Say();
} void Update () {
this.transform.Rotate(new Vector3(0,speed * Time.deltaTime,0));
rigidbody.mass = Mathf.Sin(Time.deltaTime)+1;
}
!gameObject上的属性都能够直接使用。没有的能够通过getComponent获取訪问
。通常transform 也能够替代gameObject进行使用 eg:transform.renderer... 假设一个gameObject对象没有transform组件就不能在场景中显示,仅仅能用来存储数据(为什么能够替代gameObject使用还没搞懂).
public Transform target;
void Update () {
target.renderer.material.color = Color.red;
}
/////
public GameObject target;
void Start () {
target = GameObject.Find("Main Camera/sphere");
}
//上面假设有多个名称为sphere的他找的是最前面的一个
//依据标签訪问
t
arget = GameObject.FindWithTag("fuck");
GameObject.FindGameObjectWithTag("fuck"
GameObject.FindGameObjectsWithTag("fuck"); 多个
时间Time类:
void OnGUI()
{
GUILayout.Label("当前时间:" + Time.time);
GUILayout.Label("自上一帧时间:" + Time.deltaTime);
GUILayout.Label("固定增量时间:" + Time.fixedTime);
GUILayout.Label("固定增量时间间隔:" + Time.fixedDeltaTime);
GUILayout.Label("平滑delata时间:" + Time.smoothDeltaTime); //增量时间能够在edit-projectSetting-time中设置
}
keywordyield:在迭代器块中用于向枚举数对象提供值或发出迭代结束信号。迭代器块有两个特殊语句: ●yield return <expression_r_r_r_r>; ●yield break; 迭代器块
迭代器块是有一个或多个yield语句的代码块。以下三种类型的代码块中的随意一种都能够是迭代器块: ■方法主体 ■訪问器主体 ■运算符主体
yield语句仅仅能出如今迭代器块中,该块可用作方法、运算符或訪问器的体。
这类方法、运算符或訪问器的体受下面约束的控制:
■不同意不安全块。
■方法、运算符或訪问器的參数不能是 ref 或 out。
void Start () {
StartCoroutine("Example"); //用StartCoroutine进行触发
print("Hello");
print ("world");
} //全部使用yield的函数必须将返回值类型设置为IEnumerator类型
IEnumerator Example() {
print(Time.time);
yield return new WaitForSeconds(2);
print(Time.time);
}
类似于as、js中的setTimeout
Random:
void Start () {
print(Random.seed);
print(Random.value);
print(Random.Range(0,1));
print(Random.Range(0.0f,1.0f));
}
Returns a random integer number betweenmin [inclusive] and max [exclusive] (Read Only).
If max equalsmin, min will be returned. The returned value will never bemax unless min equals max.
物体间的相互通信
(1) 有层级关系的物体间的通信
BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
public class SendMessageUpward : MonoBehaviour {
void OnMouseOver()
{
SendMessageUpwards("someoneSay","fuck u");
}
} public class RecieveMessage : MonoBehaviour { void someoneSay(string str)
{
print("someoneSaied" +str);
}
}
(2)没有层级的关系的通信。能够通过c#的托付事件
public class EventDispatcher : MonoBehaviour { public delegate void EventHandler();
public event EventHandler MouseOver; void OnMouseOver()
{
if(MouseOver != null)
{
MouseOver();
}
}
} public class EventListener : MonoBehaviour { public GameObject dispatcher;
// Use this for initialization
void Start () { EventDispatcher ds = dispatcher.GetComponent<EventDispatcher>();
ds.MouseOver +=Listen;
} void Listen()
{
transform.Rotate(new Vector3(0,10*Time.deltaTime,0));
transform.renderer.material.color = Color.cyan;
}
}
版权声明:本文博主原创文章,博客,未经同意不得转载。
unity3d 学习笔记(三)的更多相关文章
- Unity3D学习笔记2——绘制一个带纹理的面
目录 1. 概述 2. 详论 2.1. 网格(Mesh) 2.1.1. 顶点 2.1.2. 顶点索引 2.2. 材质(Material) 2.2.1. 创建材质 2.2.2. 使用材质 2.3. 光照 ...
- Unity3D学习笔记3——Unity Shader的初步使用
目录 1. 概述 2. 详论 2.1. 创建材质 2.2. 着色器 2.2.1. 名称 2.2.2. 属性 2.2.3. SubShader 2.2.3.1. 标签(Tags) 2.2.3.2. 渲染 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- java之jvm学习笔记三(Class文件检验器)
java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...
- VSTO学习笔记(三) 开发Office 2010 64位COM加载项
原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...
- Java IO学习笔记三
Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...
- NumPy学习笔记 三 股票价格
NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...
- Learning ROS for Robotics Programming Second Edition学习笔记(三) 补充 hector_slam
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
随机推荐
- OC学习篇之---Foundation框架中的NSDictionary类以及NSMutableDictionary类
今天来看一下Foundation框架中的NSDictionary类,NSMutableDictionary类,这个和Java中的Map类很想,OC中叫字典,Java中叫Map,还有字典是无序的,这个和 ...
- [Angular2 Animation] Basic animation
@Component({ selector: 'app-courses', templateUrl: './courses.component.html', styleUrls: ['./course ...
- 24、vb2_buffer和videobuf_buffer比较分析
看韦东山视频第三期摄像头驱动中构造了自己的vivi驱动,但是使用的videoBuf结构体,新的版本用的是vb2_buffer结构,我机器上(ubuntu12.04)使用的内核是linux3.2,看了看 ...
- Python中字符串的解压缩
今天在用Streaming-Python处理一个MapReduce程序时,发现reducer失败,原由于耗费内存达到极限了.细致查看代码时,发现有一个集合里保存着URL,而URL长度是比較长的,直接保 ...
- iOS开发项目实战——Swift实现ScrollView滚动栏功能
手机作为一个小屏设备,须要显示的信息往往无法在一个屏幕上显示,此时就须要使用到滚动栏,当然除了像TableView这样能够自带滚动功能的. 假设一个界面上View较多,那就必须要使用到ScrollVi ...
- php实现从尾到头打印列表
php实现从尾到头打印列表 一.总结 4.数组倒序:array_reverse() 5.函数肯定要return,而不是echo 二.php实现从尾到头打印列表 输入一个链表,从尾到头打印链表每个节点的 ...
- Kinect for Xbox one(v2) + Ubuntu 14.04 +ROS 安装
相比于kinect for xbox 360(v1)通过结构光来获取深度,Kinect for Xbox one(v2) 采用time flight技术,极大改善了深度图像的性能. kinect fo ...
- 我的前端规范——JavaScript篇
相关文章 简书原文:https://www.jianshu.com/p/5918c283cdc3 我的前端规范——开篇:http://www.cnblogs.com/shcrk/p/9271561.h ...
- HDU 1069 Monkey and Banana DP LIS
http://acm.hdu.edu.cn/showproblem.php?pid=1069 题目大意 一群研究员在研究猴子的智商(T T禽兽啊,欺负猴子!!!),他们决定在房顶放一串香蕉,并且给猴子 ...
- 【TP SRM 703 div2 250】AlternatingString
Problem Statement A string of zeros and ones is called an alternating string if no two adjacent char ...