Unity3d, C#: Полностью потеряно с нелепыми ошибками - PullRequest
2 голосов
/ 05 мая 2020
• 1000 на основе учебников, чтобы иметь форму одного и производительность другого, и я действительно разочарован, потому что я только в начале и уже застрял. Я знаю, что микширование кодов - не всегда простая задача из-за их логики, но ошибки у меня есть ... Ребята, клянусь, я пытался исправить сам. Si Я снял все миксы и оставил только соответствующий blo c с ошибками, чтобы продолжить.

Посмотрите на это: - Assets \ Scripts \ Grid.cs (28,37): error CS0103: The name '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 [...]

Хуже всего в этой истории то, что я уже изучил этот урок, и в первый раз у меня не было проблем с этим blo c. Пытался вставить, проблемы остались, проверил, проверил² и т.д. c ... Ни за что. Есть идеи?

1 Ответ

3 голосов
/ 05 мая 2020

отложено; в циклах 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);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...