0

我绝对是 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() 设置变量的值。当我打印变量的值时,值为 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

哪里有问题??塔肯斯。

4

1 回答 1

1

没有setxPos(value: Integer)为 setter 定义这样的函数——你只有一个setxPos()没有参数的函数,即使这样它也将值硬编码为 50——你的示例代码似乎不太可能编译。


我建议放弃JavaFX 1.x和 JavaFX Script 语言,因为到今年年底,Oracle 将完全不支持它们,并且 Oracle 将关闭这些技术的运行时分发服务器。

而是花时间学习JavaFX 2,它是用 Java 语言编写的,有很多教程。要学习 JavaFX 2,请阅读并遵循JavaFX 2 文档中的示例。

这是一个博客参考,其中包含JavaFX 2 sprite 动画的优秀示例。

于 2012-06-25T02:37:56.280 回答