Processing 键入的键不显示键
我正在尝试从processing转换为processingjs,但有些东西我就是不明白 在处理过程中,下面的代码返回您键入的字母,尽管在处理JS时,它只返回keycode值,但我需要的是字母,而不是代码Processing 键入的键不显示键,processing,Processing,我正在尝试从processing转换为processingjs,但有些东西我就是不明白 在处理过程中,下面的代码返回您键入的字母,尽管在处理JS时,它只返回keycode值,但我需要的是字母,而不是代码 String name=""; void setup(){ size(200,200); } void draw(){ } void keyPressed() { if(key==ENTER) { name=""; } else { name+=key; println(
String name="";
void setup(){
size(200,200);
}
void draw(){
}
void keyPressed() {
if(key==ENTER) {
name="";
}
else {
name+=key;
println(name);
}
}
您需要在Processing和Processing.js中使用字符转换功能: 它显示为数字的原因如下:
char x = 97; //supposed to be an 'a'
在Java中执行强制转换(可能需要char x=(char)97)
但是,在processing.js中,它的执行方式是:
var x = 97;
因为javascript具有动态类型。因此,您需要显式强制类型转换,例如从int->char。而不是
name+=key
,请尝试name+=key.toString()
处理的println
自动为您进行类型转换,因此PApplet.key
的char
值将打印为字母。JavaScript字符串连接的工作方式不同;PApplet.key
的整数值将作为整数追加到字符串中,并且不会自动转换为字符串。你必须手动操作。经过数小时的搜索和上面的答案,我在这里找到了比我更有说服力的答案peepproject.com/forums/thread/266/view。基本上解决方案是将int
转换为char()
在构造字符串之前
并将其放入数组中
经过数小时的搜索和上面的答案,我在这里找到了比我更雄辩的答案。基本上,解决方案是在构造字符串并将其放入数组之前将int转换为char()。处理方式name+=char(键);
,java方式name+=(char)键;
或processing.js方式name+=char(键);
或javascript方式(与processing js混合)`name+=String.fromCharCode(键);”