Имя "Math" не существует в текущем контексте
У меня есть код ниже,и я пытаюсь округлить PerlinNoise(x, z), поэтому я поставил его равным Yscale и попытался его округлить. вопрос в том, что я получаю ошибку "имя" математика "не существует в текущем контексте" для этой линии. Есть Идеи?
using UnityEngine;
using System.Collections;
public class voxelcreate : MonoBehaviour {
private int origin = 0;
private Vector3 ChunkSize = new Vector3 (32,6,32);
private float Height = 10.0f;
private float NoiseSize = 10.0f;
private float Yscale=0;
private GameObject root;
public float PerlinNoise(float x, float y)
{
float noise = Mathf.PerlinNoise( x / NoiseSize, y / NoiseSize );
return noise * Height;
}
// Use this for initialization
void Start () {
for(int x = 0; x < 33; x++){
bool isMultiple = x % ChunkSize.x == 0;
if(isMultiple == true){
origin = x;
Chunk();}
}
}
// Update is called once per frame
void Chunk (){
int ranNumber = Random.Range(8, 80);
int ranNumber2 = Random.Range(8, 20);
Height = ranNumber2;
NoiseSize = ranNumber;
for(int x = 0; x < ChunkSize.x; x++)
{
for(int y = 0; y < ChunkSize.y; y++)
{
for(int z = 0; z < ChunkSize.z; z++)
{
GameObject box = GameObject.CreatePrimitive(PrimitiveType.Cube);
int Yscale = (int)Math.Round((PerlinNoise( x, z)), 0);
box.transform.position = new Vector3( origin+x , y+Yscale, z);
}}}}}
3 ответов
Это правда, что вы могли бы добавить using System
. Однако, единства Mathf
почему вы предпочитаете использовать встроенный Mathf?
System.Math
использует двойников. UnityEngine.Mathf
использует поплавки. Поскольку большинство Unity использует поплавки, лучше использовать Mathf
, Так что вам не придется постоянно конвертировать float и Double и обратно.
In ASP.NET ядро, ты должен получить систему.Во время выполнения.Пакета расширения первый, возможно, через Диспетчер пакетов NuGet в Visual Studio или с помощью командной строки.
подробности о пакете можно найти здесь.
наконец, вам нужно дать:
using System
и затем вы можете использовать методы этого класса:
using System;
namespace Demo.Helpers
{
public class MathDemo
{
public int GetAbsoluteValue()
{
var negativeValue = -123;
return Math.Abs(negativeValue);
}
}
}