我正在尝试编写一个简单的球类游戏,并且有几个回合(即,球的生命).当球通过屏幕的底部边界时,球"死亡".到目前为止我的工作,但似乎不是正确的做事方式:
if (ball.getY() > bottomOfScreen) {
ball.die();
remove(ball);
}
Run Code Online (Sandbox Code Playgroud)
模具()方法基本上淡出球的颜色慢慢地(dark_gray - >暂停(50) - > light_gray - >暂停(50)),但实际上并没有做什么有用的东西.
显然,remove()从屏幕上移除了球,这就是我想要的.这是有道理的我,这remove()方法是球的模具()方法,的一部分,而不是它是在主程序中一个单独的方法调用 - 但是我不知道如何去吗?
对象可以自行删除吗?而且,如果可以的话,从哲学/方法论的角度来看,对象自杀是否比对象谋杀更好?
谢谢!
该对象可以删除自身,因为它具有对视图呈现机制的某种引用.您的示例没有提供足够的信息,因此我将举例说明一种方法:
public class Ball {
private ViewRenderer view;
public void remove() {
view.remove(this);
}
}
Run Code Online (Sandbox Code Playgroud)
无论是自杀还是谋杀都不是更好或更糟.这取决于您的设计和要求.
在这个例子虽然,谋杀可能是最好,因为这样的Ball对象并不需要知道在哪个上下文的被使用.
| 归档时间: |
|
| 查看次数: |
14703 次 |
| 最近记录: |