【问题标题】:P5.js class not identifiedP5.js 类未识别
【发布时间】:2020-08-07 20:36:46
【问题描述】:

我最近开始使用 JavaScript,然后才使用 C#。我正在使用 p5.js 制作一个小游戏引擎,当我运行代码时,我得到一个 (SyntaxError: unexpected token: identifier) 错误,我对此进行了调查,发现没有任何效果 这是代码

  • 如果这只是 C# 和 JavaScript 之间的一些混乱,我很抱歉,但就像我说的那样,我是 JavaScript 新手

  class Vector
{
    
    public int x = 0;
    
    public int y = 0;
    
    public Vector2(int xPosition,int yPosition)
    {
        x = xPosition;
        
        y = yPosition;
    }
    
}

class Color
{
    public var r;
    public var a;
    public var g;
    public var b;
    
        public Color(var red,var green,var blue,var alpha)
        {
            r = red;
            g = green;
            b = blue;
            a = alpha;
        }
    
}

class PixelBit
{
    public Vector2 position;
    
    public Color pixelColor;
    
    public PixelBit(Vector2 pixelPosition,Color color)
    {
        position = pixelPosition;
        
        pixelColor = color;
    }
    
}

static class Converters
{
    
    public static Vector2 StringToVector2(String string)
    {
        String[] splitString = string.split(",");
        
        Vector2 outputVector2 = new Vector2(int.parse(splitString[0]),int.parse(splitString[1]),int.parse(splitString[2]));
        
        return outputVector2;
        
    } 
    
    public static Color StringToColor(String sting)
    {
        String[] splitString = string.split(",");
        
        Color outputColor = new Color(int.parse(splitString[0]),int.parse(splitString[1]),int.parse(splitString[2]));
        
        return outputColor;
        
    }
    
}

class Sprite
{
    public Vector2 position;
    
    public PixelBit[] spritePixels;
    
    public function DrawSpriteOnToCanvas()
    {
        
        loadPixels();
    
        for(var y = 0; y < height; y++)
        {
            for(var x = 0; x < width; x++)
            {
                for(var p = 0; p < spritePixels.Length; p++)
                {
                    if(spritePixels[p].position.x + position.x = x && spritePixels[p].position.y + position.y = y)
                    {
                        var indx = (x + y * width) * 4;
                        
                        pixels[indx+0] = spritePixels[p].pixelColor.r;
                        pixels[indx+1] = spritePixels[p].pixelColor.a;
                        pixels[indx+2] = spritePixels[p].pixelColor.g;
                        pixels[indx+3] = spritePixels[p].pixelColor.b;
                        
                        break;
                    }
                }
            }
        }
    
    
        updatePixels();
        
    }
    
    
    public Sprite(String spriteFile)
    {
        
        String[] splitString = spriteFile.split("|");
        
        position = Converters.StringToVector2(splitString[0]);
            
        //splits the colors up
        String[] splitColorString = splitString[1].split(".");
            
        spritePixels = new PixelBit[splitColorString.Length];
            
        for(var p = 0; p < splitColorString.Length; p++)
        {
            spritePixels[p].pixelColor = Converters.StringToColor(splitColorString[p]);
        }
        
        //splits the pixel positions up
        String[] splitVectorString = splitString[2].split(".");
            
        for(var p = 0; p < splitColorString.Length; p++)
        {
            spritePixels[p].position = Converters.StringToVector2(splitVectorString[p]);
        }
    }
}

function setup()
 {
  createCanvas(200,200);
  pixelDensity(1);
  
  
  //makes sprite1
  
  String sprite1Txt = loadStrings("Sprite1.txt");
  
  Sprite sprite1 = new Sprite(sprite1Txt);
  
}

function draw() 
{
    background(51);
    
    loadPixels();
    
    
    
    
    
    updatePixels();
    
    
    
} ```

【问题讨论】:

  • 这看起来您正在尝试使用基于 Java 的 Processing。您需要将其转换为 javascript 以在 p5 中使用。

标签: javascript class identifier unexpected-token


【解决方案1】:

据我所知,你的语法都是错误的,你可以在w3schools 上查看一些提示以获取基本信息或在MDN 上查看。 此外,您没有在任何地方声明 P5 库,因此它永远不会加载。这是一个关于如何声明库的示例Import Library

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 2017-12-20
    相关资源
    最近更新 更多