我在JavaFX中绝对是初学者。我有JavaFX类Sprite:
public class Sprite extends CustomNode {
protected var xPos : Integer;
protected var yPos : Integer;
public function setxPos(){
this.xPos=50;
}
public function getxPos():Integer{
return this.xPos;
}
public function move() : Void{
xPos=xPos+2;
}
}
我在Main类中使用此类的实例。我用函数setxPos()设置变量的vaule。当我打印变量的值时,值为0.这是Main类中的代码。
var sprite : Sprite;
sprite.setxPos(50);// use setter
println(sprite.getxPos());// value is 0
sprite.xPos=50;// without setter
println(sprite.getxPos());// value is 0 too
问题在哪里? Thakns。
答案 0 :(得分:1)
没有为setter定义这样的函数setxPos(value: Integer)
- 你只有一个没有参数的setxPos()
函数,即使它将值硬编码为50 - 你的示例代码似乎不太可能编译。
我建议放弃JavaFX 1.x和JavaFX Script语言,因为到今年年底Oracle将完全不支持这些语言,Oracle将关闭这些技术的运行时分发服务器。
而是花时间学习JavaFX 2,这是用Java语言编写的,其中有很多tutorials。要学习JavaFX 2,请阅读并遵循JavaFX 2 documentation中的示例。
这是一篇博客参考,其中包含JavaFX 2 sprite animation的优秀示例。