Der name `Mathe' existiert nicht im aktuellen Kontext
Ich habe den Code unten und ich bin zu versuchen, um die PerlinNoise(x,z), so habe ich ihn auch gleich Yscale und versuchte um Sie herum. das Problem ist, ich bekomme die Fehlermeldung "Der name `Mathe' existiert nicht im aktuellen Kontext" für diese Zeile. Irgendwelche Ideen?
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);
}}}}}
- Sie sollten wirklich eine IDE. Es löst diese Probleme für Sie automatisch.
- Hinzufügen
using System;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen
oben in der Datei.
Oder verwenden Sie
System.Math
stattMath
.Es ist wahr, Sie könnte hinzufügen
using System
. Allerdings hat die Einheit MathfWarum würden Sie lieber verwenden, den eingebauten Mathf?
System.Math
verwendet verdoppelt.UnityEngine.Mathf
verwendet schwimmt. Da die meisten der Einheit verwendet schwimmt, ist es besser, zu verwendenMathf
so dass Sie nicht haben, um ständig umrechnen floats und doubles hin und her.int
, so dass, wenn das ist getan von einemfloat
oder einedouble
macht keinen Unterschied. Es fühlt sich an wie Sie sind der Versuch einer Antwort auf etwas, das nicht in die Frage.int
jetzt. Allerdings, für zukünftige ReferenzMathf
ist nützlich, sich bewusst zu sein. Dein Kommentar impliziert, dass das wissen, wie ein system funktioniert, solange können Sie Flicken zusammen, Ihr code, ist nicht wichtig-ich nicht abonnieren, die Sicht.Mathf
das ist in der engine, die er bereits mit.In ASP.NET Kern zu erhalten, müssen Sie das System.- Laufzeit.Erweiterungspaket für die ersten, vielleicht via NuGet-Paket-Manager in Visual Studio oder über die Kommandozeile.
Details zu diesem Paket finden Sie hier.
Schließlich müssen Sie zu geben:
Dann können Sie Methoden dieser Klasse: