我不相信我有任何丢失分号或丢失/双括号,这是我看到别人说的导致这个错误。谢谢阅读。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public class Spawner : MonoBehaviour
{
public float moveX;
public float moveXIncrease;
public GameObject greenSquare;
public GameObject blueSquare;
public GameObject pinkSquare;
public GameObject greySquare;
var squareslist = new List<GameObject>{greenSquare, blueSquare, pinkSquare, greySquare};
void Start()
{
for (int i = 0; i < 5; i++)
{
int index = random.Next(squareslist.Count);
private GameObject objectToSpawn = squareslist[index];
Vector3 newPos = new Vector3(objectToSpawn.transform.position.x + moveX, objectToSpawn.transform.position.y, objectToSpawn.transform.position.z);
Instantiate(objectToSpawn, newPos, objectToSpawn.transform.rotation);
moveX = moveX + moveXIncrease;
}
}
}
我试图产卵5个不同的随机彩色块旁边的对方。
2条答案
按热度按时间b09cbbtk1#
不能在函数内声明
private
作用域。在
Start()
函数中,删除private
关键字。将此行更改为......到这个...
MS文档...
private (C# Reference)
bakd9h0s2#
除了@quaabaam给出的答案之外,您不能在类级别的作用域中使用
var
关键字。因此,要修复这两个错误:
应为:
现在有另一个问题。预置不存储位置。你试图从预置列表中读取位置不会产生你想要的结果。如果你想设置"产卵点",你可能想添加空的游戏对象到你的场景,并使用那些位置为你的新示例化的游戏对象。但这是另一个问题,与最初的问题无关。