加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 当前上下文中不存在名称“Math”

发布时间:2020-12-15 08:09:21 所属栏目:百科 来源:网络整理
导读:我有下面的代码,我试图围绕PerlinNoise(x,z),所以我把它等于Yscale并试图绕过它.问题是我得到了该行的错误“当前上下文中不存在名称`Math’”.有任何想法吗? using UnityEngine;using System.Collections;public class voxelcreate : MonoBehaviour {privat
我有下面的代码,我试图围绕PerlinNoise(x,z),所以我把它等于Yscale并试图绕过它.问题是我得到了该行的错误“当前上下文中不存在名称`Math’”.有任何想法吗?
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);
}}}}}

解决方法

using System;

在文件的顶部.

或者使用System.Math而不是Math.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读