Java 处理,使用匿名函数
Java Processing, using an anonymous function
我只是想知道这是否可能。作为 Web 开发人员,我已经使用 Javascript 4 年了,所以我非常习惯在我的代码中使用匿名函数。现在正在测试 Processing,我想看看如何完成我通常使用 Javascript.
所做的所有事情
在Java脚本中,我使用这样的函数:
fn.call(instance,arg1, arg2);
或
fn.apply(instance,args);
...但是,我无法在 Processing 中执行类似的操作。
我正在尝试调用 "anonymous function" 和 运行 实例命名空间中的函数:
public void resetHealth(){
this.health = 10;
}
class Player{
public int health;
Player(){
super();
this.health = 10;
}
}
Player p = new Player();
//where it gets prickly:
resetHealth.invoke(p);
预期结果:print p.health; //returns 0
我想知道我正在做的事情对 Java 是否有误。但是,这可能与Processing有关。
关于长运行我建议查看Daniel Shiffman's OOP Tutorial
您应该将 resetHealth() 函数移到播放器中 class,
然后使用点符号调用它(例如 p.resetHealth()
)
class Player {
public int health;
Player() {
super();
this.health = 10;
}
public void resetHealth() {
this.health = 10;
}
}
void setup() {
Player p = new Player();
//test, set lower health
p.health = 3;
println("lowed health to", p.health);
//test, call reset health
p.resetHealth();
println("reset health to", p.health);
}
如果您已经习惯了 JavaScript,您应该会在使用 p5.js 的同时感到宾至如归,同时仍然使用大部分 Processing 好东西。
我只是想知道这是否可能。作为 Web 开发人员,我已经使用 Javascript 4 年了,所以我非常习惯在我的代码中使用匿名函数。现在正在测试 Processing,我想看看如何完成我通常使用 Javascript.
所做的所有事情在Java脚本中,我使用这样的函数:
fn.call(instance,arg1, arg2);
或
fn.apply(instance,args);
...但是,我无法在 Processing 中执行类似的操作。
我正在尝试调用 "anonymous function" 和 运行 实例命名空间中的函数:
public void resetHealth(){
this.health = 10;
}
class Player{
public int health;
Player(){
super();
this.health = 10;
}
}
Player p = new Player();
//where it gets prickly:
resetHealth.invoke(p);
预期结果:print p.health; //returns 0
我想知道我正在做的事情对 Java 是否有误。但是,这可能与Processing有关。
关于长运行我建议查看Daniel Shiffman's OOP Tutorial
您应该将 resetHealth() 函数移到播放器中 class,
然后使用点符号调用它(例如 p.resetHealth()
)
class Player {
public int health;
Player() {
super();
this.health = 10;
}
public void resetHealth() {
this.health = 10;
}
}
void setup() {
Player p = new Player();
//test, set lower health
p.health = 3;
println("lowed health to", p.health);
//test, call reset health
p.resetHealth();
println("reset health to", p.health);
}
如果您已经习惯了 JavaScript,您应该会在使用 p5.js 的同时感到宾至如归,同时仍然使用大部分 Processing 好东西。