我正在尝试从processing转换到processingjs,并且有一些我无法理解的东西。
在processing中,下面的代码返回您键入的任何字母,虽然在processingjs中它只返回keycode值,但我需要的是字母而不是code。
String name="";
void setup(){
size(200,200);
}
void draw(){
}
void keyPressed() {
if(key==ENTER) {
name="";
}
else {
name+=key;
println(name);
}
}发布于 2012-10-22 08:19:03
经过几个小时的搜索和上面的回答,我在这里找到了答案,这比我更有说服力。基本上,解决方案是在构造String并将其放入array之前将int转换为char()。
发布于 2012-10-22 03:22:10
您需要在Processing和Processing.js中使用字符转换函数:
http://processingjs.org/reference/char_/
它显示为数字的原因是下面这行:
char x = 97; //supposed to be an 'a'在Java中执行强制转换(可能需要char x= (char)97)。
然而,在processing.js中,它是这样执行的:
var x = 97;因为javascript具有动态类型。因此,您需要显式地强制类型转换,比如from int->char。
发布于 2012-10-22 03:29:04
请尝试name += key.toString(),而不是name += key。
Processing的println自动为您进行类型转换,因此PApplet.key的char值被打印为字母。JavaScript字符串连接的工作方式不同;PApplet.key的整数值将作为整数附加到字符串中,而不会自动转换为字符串。您必须手动完成此操作。
https://stackoverflow.com/questions/12994747
复制相似问题