将一些处理代码移植到Eclipse,获得大量错误

时间:2011-02-21 02:16:37

标签: java android processing

我正在使用Processing创建一个Android应用程序,并决定将我的代码移植到Eclipse。我猜处理和纯Java之间存在很多差异,因为我发现错误对我来说没什么意义。例如:

int inactiveThreshold = 300 + int(random(-100, 100));

int randomPointInterval = int(random(300, 500));

我收到错误“令牌上的语法错误”int“,删除此令牌”

对于随机函数,我扩展了PApplet并导入了processing.core。*所以我不明白为什么它不能正常工作。

在引用我创建的颜色的任何内容上也会出错:

back.drawBackground("shadow", backgroundColor);
back.drawBackground("front", backgroundColor);

“无法将颜色解析为类型”,尽管将backgroundColor初始化为整数:

int backgroundColor = color(100, 100, 120);

主类中还有一个处理鼠标移动的函数,当我对它进行引用时,表示函数未定义。

这些错误只是在主类中,所以我认为我应该先处理它。我主要是关注移植代码:

http://www.learningprocessing.com/tutorials/processing-in-eclipse/

我在纯Java方面做得不多,所以Processing的预编译器可能会有很多不同之处,我没有注意到。

3 个答案:

答案 0 :(得分:1)

对于int cast:执行

int i = (int)(valueToCase);

对于randoms:

java.util.Random rand = new java.util.Random();
// can't do random(min,max) - instead, do
int randNum = rand.nextInt(max-min) + min;

任何时候你看到java.blah.ClassName,你都可以这样做,所以它不会被java.blah限定符混乱。

import java.blah.ClassName;

    ClassName cn = new ClassName...

答案 1 :(得分:0)

如果说实话得好,我会感到惊讶。处理不是优化的屏幕设备,这会导致一些问题。据我所知,它运行在JVM之上的Java虚拟机上。这与在Android中使用的Dalvik VM上运行完全不同。

然而,似乎有相当多的支持。我会直接检查该社区。 http://wiki.processing.org/w/Android

答案 2 :(得分:0)

原来有一个关于如何让Processing应用程序在纯Java环境中运行的一个很好的教程(假设这是你想要的):http://processing.org/learning/eclipse/

简而言之,你:

import processing.core.PApplet;

然后将对PApplet的引用传递到您要使用“本机”处理函数的任何类。就这样,你先前说过:

fill(255,100);
你现在可以说:

pApplet.fill(255, 100);

我还应该提到这里有一个活跃的Adroid处理论坛:https://forum.processing.org/android-processing - 那里有人已经走了这条路。