如何制作游戏对象的副本?
How to make copies of Game objects?
我想在我的游戏中做的是,当球破坏方块时,它会生成随机数以产生不同的能量提升我做了随机变化,但我不知道如何在被摧毁的方块上产生能量提升图标.当它产生时,它只是漂浮下来,你需要用你用来弹球的平台 接触他来接他。
我在盒子上的代码是:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class destroy : MonoBehaviour
{
private string BALL_TAG = "ball";
public AudioClip coin;
public AudioSource src;
private float digit;
public GameObject spawnTo;
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag(BALL_TAG))
{
movement PBDM = FindObjectOfType<movement>();
PBDM.Destroy();
src.clip = coin;
src.Play();
digit = Random.Range(0, 101);
if (digit <= 15 && digit >= 11)
print("THERE IS A PLACE WHERE I NEED TO SPAWN POWER UP ON XYZ OF BOX.");
else if (digit <= 10 && digit >= 1)
Debug.Log("epic");
else
Debug.Log("basic");
Destroy(gameObject);
}
}
}
这个调试我只是用来测试它是否有效。
因此,如果我对你的理解正确的话,你只想 Instantiate 反对。
要在场景中创建一个新的游戏对象,您可以按照以下步骤操作:
创建您要生成的游戏对象的预制件。您可以通过将 GameObject 从层次结构拖动到资产 window.
将其拖放到要生成预制件的对象上的 C# 脚本组件上。
将您的 if 语句更改为:
if (digit <= 15 && digit >= 11)
Instantiate(spawnTo, this.transform.position, Quaternion.identity);
如果您想将 GameObject 实例化为另一个 GameObject 的子对象,您还可以阅读 Instantiate() 方法。
我想在我的游戏中做的是,当球破坏方块时,它会生成随机数以产生不同的能量提升我做了随机变化,但我不知道如何在被摧毁的方块上产生能量提升图标.当它产生时,它只是漂浮下来,你需要用你用来弹球的平台 接触他来接他。 我在盒子上的代码是:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class destroy : MonoBehaviour
{
private string BALL_TAG = "ball";
public AudioClip coin;
public AudioSource src;
private float digit;
public GameObject spawnTo;
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag(BALL_TAG))
{
movement PBDM = FindObjectOfType<movement>();
PBDM.Destroy();
src.clip = coin;
src.Play();
digit = Random.Range(0, 101);
if (digit <= 15 && digit >= 11)
print("THERE IS A PLACE WHERE I NEED TO SPAWN POWER UP ON XYZ OF BOX.");
else if (digit <= 10 && digit >= 1)
Debug.Log("epic");
else
Debug.Log("basic");
Destroy(gameObject);
}
}
}
这个调试我只是用来测试它是否有效。
因此,如果我对你的理解正确的话,你只想 Instantiate 反对。
要在场景中创建一个新的游戏对象,您可以按照以下步骤操作:
创建您要生成的游戏对象的预制件。您可以通过将 GameObject 从层次结构拖动到资产 window.
将其拖放到要生成预制件的对象上的 C# 脚本组件上。
将您的 if 语句更改为:
if (digit <= 15 && digit >= 11) Instantiate(spawnTo, this.transform.position, Quaternion.identity);
如果您想将 GameObject 实例化为另一个 GameObject 的子对象,您还可以阅读 Instantiate() 方法。