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

unity-场景重置,游戏对象的初始化改变以及复制

2016-03-01 22:02 1506 查看
1.改变游戏对象的初始值。在脚本之中使用Getcomponet<>()函数获得物体的 Transform或者Rigidbody,之后调用随机函数Random.range()来对游戏对象的初始数值进行一个随机化。并在检测到鼠标左键点击之后重置场景,之后游戏对象的初始值就会发生变化

using UnityEngine;
using System.Collections;

public class lifechanger : MonoBehaviour {
Rigidbody r;
Transform ethanposition;
// Use this for initialization
void Start () {
r = GetComponent<Rigidbody>();//获得游戏对象刚体
ethanposition = GetComponent<Transform> ();//获得初始位置
r.mass = Random.Range (1, 100);//质量随机化
int changenum = Random.Range (-3, 3);
ethanposition.position = new Vector3 (ethanposition.position.x, ethanposition.position.y,ethanposition.position.z+changenum);//位置随机化
}

void Update ()
{
if (Input.GetMouseButton (0)) {
Application.LoadLevel (1);//重载场景
}
}
}


2.prefabs生产对象的复制体。为了生产一个复制体首先要设定一个出生地点,我采取和原本对象相同的transform值,然后在脚本之后,获得鼠标的点击操作之后,使用 Instantiate这个函数来创造新的游戏对象。

“`

using UnityEngine;

using System.Collections;

public class ethanmachine : MonoBehaviour {

public Transform spawnpoint;//获得出生地点

public GameObject ethan;//获得要复制的游戏对象

void Update () {

if (Input.GetMouseButton (1)) {

Instantiate (ethan, spawnpoint.position, spawnpoint.rotation);//调用函数复制游戏对象

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: