[英]Unity3d, C# : Totally lost with ridiculous errors
一個月以來,我幾乎沒有在空閑時間學習教程和學習 C#,即使我的技能仍然很差,我也越來越自信。
現在我挑戰自己混合 2 個基於網格的教程來獲得一個的形狀和另一個的性能,我真的很沮喪,因為我才剛剛開始而且我已經被卡住了。 我知道混合代碼並不總是一件容易的事,因為它們的邏輯,但我有錯誤......伙計們,我發誓我試圖自己修復它。 我取消了所有的混音,只保留了有錯誤的相關集團繼續。
看一下: - Assets\Scripts\Grid.cs(28,37):錯誤 CS0103:名稱 'x' 在當前上下文中不存在 - Assets\Scripts\Grid.cs(28,40):錯誤 CS0103:在當前上下文中不存在名稱“z”我有這 6 次,壓縮在 3 行代碼中......它們看起來很荒謬! 請殺了我。
這是一個屏幕截圖,以防萬一: grrr
這是代碼:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Grid : MonoBehaviour
{
public int gridX, gridZ;
private int[,] gridArray;
private float cellSize;
void Start()
{
Grid grid = new Grid(gridX, gridZ, 1f);
}
public Grid(int gridX, int gridZ, float cellSize)
{
this.gridX = gridX;
this.gridZ = gridZ;
this.cellSize = cellSize;
gridArray = new int[gridX, gridZ];
for(int x = 0; x < gridArray.GetLength(0); x++) ;
{
for(int z = 0; z < gridArray.GetLength(1); z++) ;
{
Utils.CreateWorldText(gridArray[x, z].ToString(), null, GetWorldPosition(x, z) + new Vector3(cellSize, 0, cellSize) * .5f, 10, Color.white, TextAnchor.MiddleCenter);
Debug.DrawLine(GetWorldPosition(x, z), GetWorldPosition(x, z + 1), Color.white, 3600f);
Debug.DrawLine(GetWorldPosition(x, z), GetWorldPosition(x + 1, z), Color.white, 3600f);
}
}
Debug.DrawLine(GetWorldPosition(0, gridZ), GetWorldPosition(gridX, gridZ), Color.white, 3600f);
Debug.DrawLine(GetWorldPosition(gridX, 0), GetWorldPosition(gridX, gridZ), Color.white, 3600f);
}
private Vector3 GetWorldPosition(int x, int z)
{
return new Vector3(x, 0, z) * cellSize;
}
}
public class Utils [...]
這個故事中更糟糕的是我已經完成了那個教程,而且我第一次對那個集團沒有任何問題。 試圖粘貼它,問題仍然存在,檢查,檢查²等......沒辦法。 有任何想法嗎?
推遲; 在 for 循環
for(int x = 0; x < gridArray.GetLength(0); x++) ; <===
for(int z = 0; z < gridArray.GetLength(1); z++) ; <===
for(int x = 0; x < gridArray.GetLength(0); x++)
{
for(int z = 0; z < gridArray.GetLength(1); z++)
{
Utils.CreateWorldText(gridArray[x, z].ToString(), null, GetWorldPosition(x, z) + new Vector3(cellSize, 0, cellSize) * .5f, 10, Color.white, TextAnchor.MiddleCenter);
Debug.DrawLine(GetWorldPosition(x, z), GetWorldPosition(x, z + 1), Color.white, 3600f);
Debug.DrawLine(GetWorldPosition(x, z), GetWorldPosition(x + 1, z), Color.white, 3600f);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.