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 ...
随机推荐
- java.util.ConcurrentModificationException(如何避免ConcurrentModificationException)
java.util.ConcurrentModificationException is a very common exception when working with java collecti ...
- php中嵌套html代码和html代码中嵌套php方式
php中嵌套html代码和html代码中嵌套php方式 一.总结 拷贝的话直接html代码是极好的方式 1.php中嵌套html代码(本质是原生php):a.原生嵌套<?php .....?&g ...
- Java学习很好的笔记
http://www.cnblogs.com/vamei/archive/2013/03/31/2991531.html
- AE中Shapefile文件添加到SDE数据集
linder_lee 原文 AE中Shapefile文件添加到SDE数据集(c#) 主要完成用C#,通过AE将本地Shapefile文件导入到SDE的指定数据集下面. 首先说下思路: (1) 通过Op ...
- JAVA中正則表達式总结(具体解释及用途)
很多语言,包含Perl.PHP.Python.JavaScript和JScript,都支持用正則表達式处理文本,一些文本编辑器用正則表達式实现高级"搜索-替换"功能.所以JAVA语 ...
- Spring Boot初步认识
Spring Boot 来源及背后 Spring Boot开发始于 2013 年,伴随Spring4.0而生,2014 年 4 月发布 1.0.0 版本.当前版本1.4.0,http://projec ...
- keil出错总结
错误一: ..\APP\app.c(51): error: #268: declaration may not appear after executable statement in block ...
- Bootstrap相关优质项目学习清单
1:编码规范 by @mdo编写灵活.稳定.高质量的 HTML 和 CSS 代码的规范 http://codeguide.bootcss.com/ 2:快速.可靠.安全的依赖管理工具.Yarn 缓存了 ...
- JNI——Java调用C/C++函数
从C/C++到Java,再从Java回到C/C++,今天终于有机会了解了连接Java.C/C++的桥梁——JNI.哈哈!分享一下! 一.简介 JNI是Java native interface的简 ...
- 小梦词典WP8.1应用发布
这几天一直在做这款应用,今天终于发布了! 小梦词典简介: 小梦词典是一款永久免费无广告的网络词典. 支持英汉单词查询: 支持中,英,法,韩,德,俄,日七国语言翻译,多语言极致体验: 支持生词本记忆,查 ...