【发布时间】: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