我正在尝试从处理转换为processingjs并且有一些我无法理解的东西。
在处理下面的代码会返回你输入的任何一个字母,虽然在processingjs中它只返回键码值,但我需要的是字母而不是代码。
String name="";
void setup(){
size(200,200);
}
void draw(){
}
void keyPressed() {
if(key==ENTER) {
name="";
}
else {
name+=key;
println(name);
}
}
答案 0 :(得分:1)
经过几个小时的搜索和上面的回答,我在这里找到了答案peepproject.com/forums/thread/266/view比我更有说服力。基本上解决方法是将int
转换为{{ 1}}在构建char()
并将其放入String
之前。
答案 1 :(得分:0)
您需要在Processing and Processing.js中使用char转换函数:
http://processingjs.org/reference/char_/
它显示为数字的原因是这一行:
char x = 97; //supposed to be an 'a'
使用Java进行强制转换(可能需要char x =(char)97)。
然而,在processing.js中,它执行为:
var x = 97;
由于javascript具有动态类型。因此,您需要明确强制类型转换,例如来自int-> char。
答案 2 :(得分:0)
而不是name += key
,请尝试name += key.toString()
。
处理的println
会自动为您进行类型转换,因此char
的{{1}}值会以字母形式打印。 JavaScript字符串连接的工作方式不同; PApplet.key
的整数值将作为整数附加到字符串,不会自动转换为字符串。你必须手动完成。