math.random:随机数生成器 image re-appearing off screen:图片重新出现在屏幕外

我遇到了一个小问题,在碰撞和 math.random 的帮助下,我的图像脱离了屏幕。

我有一个球碰到砖块,砖块会随机重新定位,但是砖块图像一直超出了屏幕。砖块还被旋转了90度,所以我不确定它是否会影响任何东西。屏幕顶部还有一个高61像素的图像,图像一直重新定位在它的后面,我想着-61加上它可能有帮助,但我没有成功。

xRandom = math.random(display.contentWidth - brick.width)
yRandom = math.random(display.contentHeight - brick.height)
transition.to(brick, {delay = 200, x = xRandom, y= yRandom , time=0})
点赞
用户869951
用户869951

如您所知,xRandom将介于1和display.contentWidth - brick.width之间:如果砖的锚点是其x = 0,则可以确保砖块无法被定位得太靠右。也许x锚点不在0处,或锚点是x = 0,但这并不对应于图像的左侧(可能是加载方式?看不到代码就无法确定)。

同样,对于y坐标:0在屏幕顶部,并向下增加。因此,yRandom将介于1和display.contentHeight - brick.height之间,这将确保如果其y锚点在y = 0,并且该锚点是图像的顶部,则砖块是可见的。

如果您有一个位于屏幕顶部的图像,则应将最小y限制为大于该图像的高度,即使用yRandom = math.random(topImageHeight,display.contentHeight - brick.height)

无法确定问题的部分是否由于旋转而起,除非看到您的代码。如果您可以发布一个最小示例,我可以运行它,那么将更容易提供更准确的答案。

2014-06-22 17:38:36