游戏编程中的 Java 类?

标签 java class

我正在做一个小策略游戏,以帮助我以有趣的方式学习 Java。关键是我将这些单位设想为可以在游戏 map 上自行绘制(使用图像和缓冲)的对象,并且可以通过附加到它们的听众对鼠标操作使用react。

现在,根据我一直在阅读的一些有关基本游戏编程的教程,所有内容似乎都是在我的 Map 类的 Graphics 方法中绘制的。如果出现一个新的单元,我只是更新 Map.Graphics 方法,这不像制作一个可以自绘的​​新单元对象那么容易......在这种情况下,我会被一大堆 Map 方法所困,而不是使用类来呈现新事物。

所以我的问题是,是否可以将类用于渲染单元、接口(interface)对象等,或者我必须创建方法并只进行某种结构化编程而不是面向对象?我有点困惑,我想要一个关于如何组织事物的心理蓝图。

谢谢!

最佳答案

听起来您的对象需要有一个通用接口(interface),它们都可以向下转换为渲染。

例如有一个接口(interface)类型的通用列表,用游戏对象填充它,然后枚举列表并调用通用方法进行渲染。


这是C#代码,但Java应该类似

public interface IRenderable
{
    void RenderMe(Graphics graphics)
}

List<IRenderable> myGameObjects;

foreach (IRenderable myGameObject in myGameObjects)
{
    myGameObject.RenderMe(myMap);
}

当对象保存在列表中时,它们可以响应事件并更新它们的内部状态,为下一个渲染周期做好准备。

关于游戏编程中的 Java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2624462/

相关文章:

java - 基于实体名称及其主键的通用数据获取 API

java - 找不到jar库

javafx 自定义 ui 组件 FadeTransition 无法正常工作

c++ - unordered_map 的问题

java - Eclipse 无法识别或读取 .dat 文件,即使我可以在包资源管理器中看到它

ruby - 为什么 "extend"不向类添加常量,而 "include"却添加常量?

javascript - 在对象内部使用 Ajax.Request 响应? - 原型(prototype)JS

原型(prototype)化为数组的 Javascript 对象成员被所有类实例共享

C++类继承

java - 如何确定是通过移动浏览器访问应用程序还是使用 Java 使用 PhoneGap 应用程序