我正在做一个球类游戏,所以球经过列,它根据columnPoolSize实例化自己,
我想在这里实例化多个预制件。它仅基于列的大小来激活一个预制件...我需要为columnPrefab GameObject创建另一个数组。但是我尝试这样做,但是没有成功...
public class ColumbPool : MonoBehaviour
{
public int columnPoolSize = 5;
public GameObject[] columns;
public GameObject columnPrefab;
private Vector2 objectPoolPosition = new Vector2(-15f,-25f);
private float timeSinceLastSpawn;
public float spawnRate = 4f;
public float columnMin = -1f;
public float columnMax = 3.5f;
private float spawnXPosition = 10f;
private int currentColumn = 0;
void Start()
{
columns = new GameObject[columnPoolSize];
for (int i = 0; i < columnPoolSize; i++)
{
columns[i] = (GameObject)Instantiate(columnPrefab, objectPoolPosition, Quaternion.identity);
}
}
void Update()
{
timeSinceLastSpawn += Time.deltaTime;
if (GameController.instance.gameOver==false && timeSinceLastSpawn>=spawnRate)
{
timeSinceLastSpawn = 0;
float spawnYPosition = Random.Range(columnMin, columnMax);
columns[currentColumn].transform.position = new Vector2(spawnXPosition,spawnYPosition);
currentColumn++;
if (currentColumn>=columnPoolSize)
{
currentColumn = 0;
}
}
}
}
答案 0 :(得分:0)
Private Sub DataGridView1_Paint(sender As Object, e As PaintEventArgs) _
Handles DataGridView1.Paint
If DataGridView1.Rows.Count = 0 Then
TextRenderer.DrawText(e.Graphics, "No records found.",
DataGridView1.Font, DataGridView1.ClientRectangle,
DataGridView1.ForeColor, DataGridView1.BackgroundColor,
TextFormatFlags.HorizontalCenter Or TextFormatFlags.VerticalCenter)
End If
End Sub
成为
void Start()
{
columns = new GameObject[columnPoolSize];
for (int i = 0; i < columnPoolSize; i++)
{
columns[i] = (GameObject)Instantiate(columnPrefab, objectPoolPosition, Quaternion.identity);
}
}
这样,您将实例化预制列数组(在检查器中填充)中的每个预制并将引用保存到新数组“ instantiatedColumns”中,然后可以在Update()中使用该数组