簡體   English   中英

Unity3d,C#:完全失去了荒謬的錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM