Java 位图显示在屏幕外
我有一个游戏,用户必须收集来自他们的斑点。这些斑点是位图。我遇到的问题是,一些斑点来自屏幕边界之外。例如,blob的底部会出现在屏幕的顶部,因此我无法看到完整的位图。我希望它在屏幕的顶部和底部之间,而不是在屏幕外部。我的问题是,有人能帮我让这些斑点只出现在屏幕上吗?任何帮助都将不胜感激 请注意:Java 位图显示在屏幕外,java,bitmap,Java,Bitmap,我有一个游戏,用户必须收集来自他们的斑点。这些斑点是位图。我遇到的问题是,一些斑点来自屏幕边界之外。例如,blob的底部会出现在屏幕的顶部,因此我无法看到完整的位图。我希望它在屏幕的顶部和底部之间,而不是在屏幕外部。我的问题是,有人能帮我让这些斑点只出现在屏幕上吗?任何帮助都将不胜感激 请注意: blobOffsetY=blob的底边坐标 我的代码: for(int j=0;j
blobOffsetY
=blob的底边坐标
我的代码:
for(int j=0;j
您没有显示相关代码,但我想您的问题从这里开始:
blobs.get(j)
似乎您唯一“知道”blob的数据结构是某种列表。因此,您始终必须迭代所有这些内容,然后确定当前在可见屏幕中的内容
答案是:想出一种更合适的存储数据的方法。例如,您可以:
- 以某种方式对列表中的blob进行排序(比如“地理上”),这样当您发现第一个blob“在屏幕外”时,您就知道不必处理任何后续的blob
- 使用多个列表,以便您的blob以某种方式被“分组”,因此您只需立即循环一组较小的blob
- 使用不同的数据结构,如地图。键可以是某种坐标,值可以是该坐标上存在的blob列表,以便您可以快速找到受影响的blob
但是,由于你的问题相当广泛和笼统,所以不要问更具体的答案。以防万一,你想练习向上投票。。这样做很有趣。