Processing.js : 从文件中读取信息

Processing.js : reading information from file

我有一个处理草图,其中我从文件中读取了一些坐标:

float[][] points = new float[243][3];

void setup() {
  size(500, 500, P3D);
  background(255);
  camera(100, 50, 150, 0, 0, 0, 0, -1, 0);
  String lines[] = loadStrings("1xd3CoordsKnot");

  for (int i = 0; i < lines.length; i++) {
    String[] list = split(lines[i], " ");
    float x = Float.parseFloat(list[0]);
    float y = Float.parseFloat(list[1]);
    float z = Float.parseFloat(list[2]);
    points[i][0] = x;
    points[i][1] = y;
    points[i][2] = z;
  }
 }

void draw() {
  background(50);
  lights();

  //the 3d lines here
  for (int i = 0; i < 242; i++) {
    line(points[i][0],points[i][1],points[i][2],points[i+1][0],points[i+1][1],points[i+1][2]);
    stroke(255);
    strokeWeight(2);
  }

}

在处理中 运行 时它工作得很好。我正在尝试将其嵌入到网页中。在这种情况下不绘制线条。 javascript控制台报错说在html文件的根目录下找不到读取坐标的文件,所以我把它复制到那里。但现在它根本不显示草图,并给我以下错误:ReferenceError: Can't find variable: Float.

html如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="js/processing.min.js"></script>
</head>
<body>
    <canvas data-processing-sources="pde/1xd3.pde"></canvas>
</body>
</html>

这里有什么问题?

尝试

parseFloat(list[0]);

而不是

Float.parseFloat();

它应该能胜任! :)

不要使用 Java API 调用这个,使用 Processing 自己的 API 这样当你 运行 它在 "not a JVM"(请记住,Processing 一种语言,它不是 "a subset of Java",它是一种只需最少重写即可编译为 Java 的语言,因此如果您想要可移植的代码,使用 Processing,而不是 "something supported by the interpreter you are using").

Processing有自己的float解析函数,简称为float():

String a = "3.52312";
float b = float(a); // b is now the number 3.52312