unity脚本开发:一些重要的类和类间的关系图

简介: 重要的类TransfromObjectGameObjectComponentTimeAnimation一、Component 找组件属性:GameObjecttagtransfromg函数:GetComponmentGetComponmentInChildrenGetComponmentInP...

重要的类
Transfrom
Object
GameObject
Component
Time
Animation

一、Component 找组件
属性:
GameObject
tag
transfromg

函数:
GetComponment
GetComponmentInChildren
GetComponmentInParent
GetComponmenstInChildren
GetComponmentsInParent

二、Transfrom
对物体进行位置,大小,缩放的改变,找孩子

变量:
position:The position of the transfrom in world space.在世界空间坐标transform的位置。
localposition: The position of the transfrom relative to parent transfrom.相对于父级的变换的位置。
LossyScale:相对于模型的,物体的全局缩放(只读)。
LocalScale:相对于父级物体变换的缩放。

函数:
Translate:function Translate (translation : Vector3, relativeTo : Space = Space.Self) : void
移动transform在translation的方向和距离。

function Update() {
// Move the object forward along its z axis 1 unit/second.
//沿着z轴1单位/秒,向前移动物体
transform.Translate(Vector3.forward * Time.deltaTime);

// Move the object upward in world space 1 unit/second.
//在世界坐标沿着y轴1单位/秒,向上移动物体
transform.Translate(Vector3.up * Time.deltaTime, Space.World);
}
function Translate (x : float, y : float, z : float, relativeTo : Space = Space.Self) : void

function Update() {
// Move the object forward along its z axis 1 unit/second.
//沿着z轴每秒1单位向前移动物体
transform.Translate(0, 0, Time.deltaTime);

// Move the object upward in world space 1 unit/second.
//在世界坐标每秒1单位向上移动物体
transform.Translate(0, Time.deltaTime, 0, Space.World);
}
• function Translate (translation : Vector3, relativeTo : Transform) : void

function Update() {
// Move the object to the right relative to the camera 1 unit/second.
//相对于摄像机每秒1单位向右移动物体
transform.Translate(Vector3.right * Time.deltaTime, Camera.main.transform);
}
function Translate (x : float, y : float, z : float, relativeTo : Transform) : void

function Update() {
// Move the object to the right relative to the camera 1 unit/second.
//相对于摄像机每秒1单位向右移动物体
transform.Translate(Time.deltaTime, 0, 0, Camera.main.transform);
}
Roate:
RoateAround
LookAt:注视旋转
Find:通过名字找

function Update() {
aFinger = transform.Find("LeftShoulder/Arm/Hand/Finger");
aFinger.Rotate(Time.deltaTime*20, 0, 0);
}
GitChild:Git Child(int index)根据索引查找
DetachChildren :解除父子关系

transform.DetachChildren();
Destroy(gameObject);
SetParent:

三、GameObject
变量:
active 是否活动

//使游戏物体不活动.
gameObject.active = false;
isStatic 是否静态

函数:
AddComponent

gameObject.AddComponent ("FoobarScript");
GetComponent

curTransform = gameObject.GetComponent(Transform);
Find

//这将返回名为Hand 的游戏物体
hand = GameObject.Find("Hand");
FindWithTag

//在标签为"Respawn"的游戏物体的位置实例化一个respawnPrefab.
var respawnPrefab : GameObject;
var respawn = GameObject.FindWithTag ("Respawn");
Instantiate (respawnPrefab, respawn.transform.position, respawn.transform.rotation);
FindGameObjectsWithTag

var respawns = GameObject.FindGameObjectsWithTag ("Respawn");
SetActive

四、Object
变量:
函数:
FindObjectOfType查找首个Type物体

// Search for any object of Type GUITexture,
// if found print its name, else print a message that says that it was not found.
//搜索任意GUITexture类型的物体
//如果发现打印它的名字,否则打印一条消息说没有发现
function Start()
{
var s : GUITexture = FindObjectOfType(GUITexture);
if(s)
Debug.Log("GUITexture object found: " + s.name);
else
Debug.Log("No GUITexture object could be found");
}
FindObjectsOfType查找Type物体

// When clicking on the object, it will disable all springs on all hinges in the scene.
//当点击物体,它将禁用场景中所有铰链中的弹簧
function OnMouseDown () {
var hinges : HingeJoint[] = FindObjectsOfType(HingeJoint) as HingeJoint[];
for (var hinge : HingeJoint in hinges) {
hinge.useSpring = false;
}
}
Destroy 销毁

// Kills the game object
//销毁游戏物体
Destroy (gameObject);

// Removes this script instance from the game object
//从游戏物体删除该脚本实例
Destroy (this);

// Removes the rigidbody from the game object
//从游戏物体删除刚体
Destroy (rigidbody);

// Kills the game object in 5 seconds after loading the object
//加载物体5秒后销毁游戏物体
Destroy (gameObject, 5);
Instantiate 实例

var clone : Missile;
clone = Instantiate(projectile, transform.position, transform.rotation);
更多unity2018的功能介绍请到paws3d爪爪学院查找。

相关文章
|
2月前
|
设计模式 存储 人工智能
深度解析Unity游戏开发:从零构建可扩展与可维护的游戏架构,让你的游戏项目在模块化设计、脚本对象运用及状态模式处理中焕发新生,实现高效迭代与团队协作的完美平衡之路
【9月更文挑战第1天】游戏开发中的架构设计是项目成功的关键。良好的架构能提升开发效率并确保项目的长期可维护性和可扩展性。在使用Unity引擎时,合理的架构尤为重要。本文探讨了如何在Unity中实现可扩展且易维护的游戏架构,包括模块化设计、使用脚本对象管理数据、应用设计模式(如状态模式)及采用MVC/MVVM架构模式。通过这些方法,可以显著提高开发效率和游戏质量。例如,模块化设计将游戏拆分为独立模块。
185 3
|
3月前
|
算法 vr&ar C#
使用Unity进行虚拟现实开发:深入探索与实践
【8月更文挑战第24天】使用Unity进行虚拟现实开发是一个充满挑战和机遇的过程。通过掌握Unity的VR开发技术,你可以创造出令人惊叹的VR体验,为用户带来前所未有的沉浸感和乐趣。随着技术的不断进步和应用场景的不断拓展,VR开发的未来充满了无限可能。希望本文能为你提供有用的指导和启发!
|
2月前
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
211 0
|
2月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
150 0
|
3月前
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
80 0
|
3月前
|
vr&ar 图形学 开发者
步入未来科技前沿:全方位解读Unity在VR/AR开发中的应用技巧,带你轻松打造震撼人心的沉浸式虚拟现实与增强现实体验——附详细示例代码与实战指南
【8月更文挑战第31天】虚拟现实(VR)和增强现实(AR)技术正深刻改变生活,从教育、娱乐到医疗、工业,应用广泛。Unity作为强大的游戏开发引擎,适用于构建高质量的VR/AR应用,支持Oculus Rift、HTC Vive、Microsoft HoloLens、ARKit和ARCore等平台。本文将介绍如何使用Unity创建沉浸式虚拟体验,包括设置项目、添加相机、处理用户输入等,并通过具体示例代码展示实现过程。无论是完全沉浸式的VR体验,还是将数字内容叠加到现实世界的AR应用,Unity均提供了所需的一切工具。
137 0
|
5月前
|
图形学
【制作100个unity游戏之26】unity2d横版卷轴动作类游戏7(附带项目源码)
【制作100个unity游戏之26】unity2d横版卷轴动作类游戏7(附带项目源码)
70 1
|
5月前
|
图形学
【制作100个unity游戏之26】unity2d横版卷轴动作类游9(附带项目源码)
【制作100个unity游戏之26】unity2d横版卷轴动作类游9(附带项目源码)
32 0
|
5月前
|
缓存 图形学
【制作100个unity游戏之26】unity2d横版卷轴动作类游戏8(附带项目源码)
【制作100个unity游戏之26】unity2d横版卷轴动作类游戏8(附带项目源码)
37 0
|
5月前
|
人工智能 定位技术 图形学
【制作100个unity游戏之26】unity2d横版卷轴动作类游戏6(附带项目源码)
【制作100个unity游戏之26】unity2d横版卷轴动作类游戏6(附带项目源码)
36 0