位图出现在屏幕外
Bitmap appears off screen
我有一款游戏,用户必须收集冲向他们的斑点。斑点是位图。我遇到的问题是一些斑点来自屏幕边界之外。因此,例如,blob 的底部会出现在屏幕的最顶部,因此我无法看到完整的位图。我希望它位于屏幕顶部和底部之间而不是屏幕外部的位置。我的问题是,有人可以帮我让斑点只出现在屏幕上吗?任何帮助将不胜感激!
请注意:
blobOffsetY
= blob 的底边坐标。
我的代码:
for (int j = 0; j < AppConstants.numberOfBlobs; j++) {
if (blobs.get(j).getBlobX() < -AppConstants.getBitmapBank().getBlobWidth()) {
blobs.get(j).setBlobX(blobs.get(j).getBlobX() +
AppConstants.numberOfBlobs * AppConstants.distanceBetweenBlob);
int blobOffSetY = AppConstants.minBlobOffsetY +
random.nextInt(AppConstants.maxBlobOffsetY - AppConstants.minBlobOffsetY + 1);
blobs.get(j).setBlobOffsetY(blobOffSetY);
blobs.get(j).newScore = true;
}
blobs.get(j).setBlobX(blobs.get(j).getBlobX() - AppConstants.blobVelocity);
}
您没有显示相关代码,但我想您的问题从这里开始:
blobs.get(j)
"knows" blob 的唯一数据结构似乎是某种列表。因此,您总是必须迭代 all 个,然后决定哪些当前在您的可见屏幕中。
答案:想出一种更合适的方式来存储该数据。例如,您可以:
- 以某种方式 排序 该列表中的 blob(如 "geographically"),这样当您找到第一个 "off screen" 时,您知道您没有'必须处理任何后续的
- 使用多个列表,让你的 blob 以某种方式 "grouped",这样你立即只需要循环一个较小的 blob 组
- 使用不同的数据结构,例如地图。键可以是某种坐标,值可以是该坐标上存在的斑点列表,以便您可以快速找到受影响的斑点
但由于您的问题非常宽泛和笼统,请不要要求更具体的答案。
我有一款游戏,用户必须收集冲向他们的斑点。斑点是位图。我遇到的问题是一些斑点来自屏幕边界之外。因此,例如,blob 的底部会出现在屏幕的最顶部,因此我无法看到完整的位图。我希望它位于屏幕顶部和底部之间而不是屏幕外部的位置。我的问题是,有人可以帮我让斑点只出现在屏幕上吗?任何帮助将不胜感激!
请注意:
blobOffsetY
= blob 的底边坐标。
我的代码:
for (int j = 0; j < AppConstants.numberOfBlobs; j++) {
if (blobs.get(j).getBlobX() < -AppConstants.getBitmapBank().getBlobWidth()) {
blobs.get(j).setBlobX(blobs.get(j).getBlobX() +
AppConstants.numberOfBlobs * AppConstants.distanceBetweenBlob);
int blobOffSetY = AppConstants.minBlobOffsetY +
random.nextInt(AppConstants.maxBlobOffsetY - AppConstants.minBlobOffsetY + 1);
blobs.get(j).setBlobOffsetY(blobOffSetY);
blobs.get(j).newScore = true;
}
blobs.get(j).setBlobX(blobs.get(j).getBlobX() - AppConstants.blobVelocity);
}
您没有显示相关代码,但我想您的问题从这里开始:
blobs.get(j)
"knows" blob 的唯一数据结构似乎是某种列表。因此,您总是必须迭代 all 个,然后决定哪些当前在您的可见屏幕中。
答案:想出一种更合适的方式来存储该数据。例如,您可以:
- 以某种方式 排序 该列表中的 blob(如 "geographically"),这样当您找到第一个 "off screen" 时,您知道您没有'必须处理任何后续的
- 使用多个列表,让你的 blob 以某种方式 "grouped",这样你立即只需要循环一个较小的 blob 组
- 使用不同的数据结构,例如地图。键可以是某种坐标,值可以是该坐标上存在的斑点列表,以便您可以快速找到受影响的斑点
但由于您的问题非常宽泛和笼统,请不要要求更具体的答案。