相关疑难解决方法(0)

如何使“相机”仅显示部分加载区域

我在找出一些东西时有一个小问题(很明显)。

我正在创建一个二维自上而下的mmorpg,并且在此游戏中,我希望玩家在瓷砖地图上移动,就像有人玩过《口袋妖怪》的游戏方式一样。

如果您还没有,请想象一下:我需要加载各个区域,从包含图像和位置(x,y)和对象(玩家,物品)的图块构造它们,但是玩家只能在时间,即20乘15瓦宽的区域,也就是100瓦高/宽瓦。我希望“摄像机”跟随玩家,使他保持居中,除非玩家到达加载区域的边缘。

我不一定需要代码,只需一个设计计划。我不知道该怎么办。

我当时正在考虑将整个加载区域分成10x10个瓷砖块(称为“块”)并加载它们,但是我仍然不确定如何从屏幕上加载碎片,并且仅在玩家处于范围内时显示它们。

图片应该描述它: 在此处输入图片说明

有任何想法吗?


我的解决方案: 解决此问题的方法是通过JScrollPanes和JPanels的美好世界。

我在JScrollPane中添加了一个3x3的JPanels块,添加了一些滚动和“ goto”方法来使JScrollPane居中/移动,瞧,我有了我的相机。

虽然我选择的答案对想要做2D相机工作的人来说有点通用,但是我做的方式实际上帮助我可视化了我做的更好的事情,因为实际上我有一个可以移动的物理“相机”(JScrollPane)我的“世界”(JPanel的3x3网格)

只是以为我会在这里张贴此信息,以防万一有人谷歌搜索答案而出现。:)

java swing 2d paint

5
推荐指数
1
解决办法
2225
查看次数

缓冲策略与JFrame中的DIY双缓冲

到目前为止,我已经通过创建和Image完成了双缓冲,使用其关联的Graphics对象绘制我想要的图像,然后使用paint方法的Graphics对象将该Image绘制到屏幕上.最近,我了解了BufferStrategy类及其用法.我想知道这两种方法的优点和缺点是什么.

编辑:我不认为我的问题非常清楚.我想知道DIY方法和BufferStrategy的优点/缺点,以及何时,如果有的话,我应该使用其中一个.

java doublebuffered jframe

0
推荐指数
1
解决办法
4536
查看次数

标签 统计

java ×2

2d ×1

doublebuffered ×1

jframe ×1

paint ×1

swing ×1