您的位置:首页 > 移动开发 > Unity3D

unity(一)基础

2016-05-27 17:40 573 查看
<一>Transforms

transforms 是gameobject的一个十分重要的组件

属性包括了position(位置)、rotation(旋转)、scale(缩放)

举几个transforms的实例:

1、控制gameobject移动:

using UnityEngine;
using System.Collections;

public class move : MonoBehaviour {

Vector3 set;

void Update () {

set = transform.position;

if (Input.GetKeyDown(KeyCode.A))
{
transform.position=set+new Vector3(-1,0,0);
}
if (Input.GetKeyDown(KeyCode.D))
{
transform.position=set+new Vector3(1,0,0);
}
if (Input.GetKeyDown(KeyCode.W))
{
transform.position=set+new Vector3(0,1,0);
}
if (Input.GetKeyDown(KeyCode.S))
{
transform.position=set+new Vector3(0,-1,0);
}
}
}


==================================================================================
2、自身旋转:

using UnityEngine;
using System.Collections;

public class move : MonoBehaviour {

public float speed;

void Update () {

transform.Rotate (0, speed*Time.deltaTime, 0);
}
}


自身旋转是看自身的中轴,如果想方便实现效果可以在建模时自己调整工作轴,也可以设置unity的center \ pivor

这里很容易看出position是需要new实例化的,而rotation是不需要的
他们都需要物体有rigidbody(刚体)

还有这些作用于gameobject的脚步都有基类:MonoBehavior,作用是实例化方法的,所以在此脚步是不能再实例化方法的
在世界实例的物体基类必须是Mono,void update()、void start()等等都是由Mono实例的

ps:想通过c#来new 一个Mono的类是不被允许的,且c#不支持多重继承,不过可以使用接口实现

这是我做制作俄罗斯方块游戏时遇到的unity自身的bug,直接取决override不能实例化从而无法重载,不得不说c#真是比较年轻的语言

次元入口:http://blog.csdn.net/sxbluebird/article/details/43225401

↑ 这里是自学unity中找到的好笔记 博主很详细地总结了 ↑
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity