Java 位图显示在屏幕外

Java 位图显示在屏幕外,java,bitmap,Java,Bitmap,我有一个游戏,用户必须收集来自他们的斑点。这些斑点是位图。我遇到的问题是,一些斑点来自屏幕边界之外。例如,blob的底部会出现在屏幕的顶部,因此我无法看到完整的位图。我希望它在屏幕的顶部和底部之间,而不是在屏幕外部。我的问题是,有人能帮我让这些斑点只出现在屏幕上吗?任何帮助都将不胜感激 请注意: blobOffsetY=blob的底边坐标 我的代码: for(int j=0;j

我有一个游戏,用户必须收集来自他们的斑点。这些斑点是位图。我遇到的问题是,一些斑点来自屏幕边界之外。例如,blob的底部会出现在屏幕的顶部,因此我无法看到完整的位图。我希望它在屏幕的顶部和底部之间,而不是在屏幕外部。我的问题是,有人能帮我让这些斑点只出现在屏幕上吗?任何帮助都将不胜感激

请注意:
blobOffsetY
=blob的底边坐标

我的代码:

for(int j=0;j
您没有显示相关代码,但我想您的问题从这里开始:

blobs.get(j)
似乎您唯一“知道”blob的数据结构是某种列表。因此,您始终必须迭代所有这些内容,然后确定当前在可见屏幕中的内容

答案是:想出一种更合适的存储数据的方法。例如,您可以:

  • 以某种方式对列表中的blob进行排序(比如“地理上”),这样当您发现第一个blob“在屏幕外”时,您就知道不必处理任何后续的blob
  • 使用多个列表,以便您的blob以某种方式被“分组”,因此您只需立即循环一组较小的blob
  • 使用不同的数据结构,如地图。键可以是某种坐标,值可以是该坐标上存在的blob列表,以便您可以快速找到受影响的blob

但是,由于你的问题相当广泛和笼统,所以不要问更具体的答案。

以防万一,你想练习向上投票。。这样做很有趣。