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

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();//获得游戏对象刚体
        ethanposition = GetComponent ();//获得初始位置
        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);//调用函数复制游戏对象
}
}
}

你可能感兴趣的:(unity)