无法在Corona SDK中设置背景。

有一个问题,当我在Corona SDK中通过以下代码或其他任何代码设置背景时:

local background = display.newRect(0,0, display.contentWidth ,display.contentHeight)
background:setFillColor( 255, 255, 255 )

(宽度可以是硬编码),模拟器会显示以下图片:

http://apikabu.ru/img_n/2014-02_3/7mw.jpg

如果以上链接失效,则另有一张相同的图片

http://tinypic.com/r/2vmy3qr/8

我做错了什么吗? 为什么x,y坐标不正确?如果我尝试放置图像或文本,坐标也会出错。

还有一个问题是,对于那些不理解问题的人: 在这张照片中,我们有坐标left=0,top=0,并且文本超出了显示范围

http://tinypic.com/r/34grcao/8

在这里,坐标left=50,top=10,现在我们可以看到文本,但是为什么左上角不是left=0,top=0?

http://tinypic.com/r/259jqfb/8

感谢回答!

点赞
用户2014635
用户2014635

您正在将矩形的位置设置为0,0——该矩形的“锚点”是对象的中心。因此,屏幕上显示的矩形是正确的——中心在0,0处。

要将矩形置于屏幕中心,请修改x和y属性:

background.x = display.contentCenterX
background.y = display.contentCenterY

这应该将矩形置于屏幕中央。

Corona SDK曾经使用左上角的锚点创建对象,然后自动转换为中心锚点。最近发生了变化,现在它们是使用中心锚点创建的。

2014-02-12 00:04:28
用户3171803
用户3171803

你也可以在 main.lua 文件中使用以下代码:

display.setDefault("background", 255, 255, 255, 1)

它将为所有屏幕设置默认的背景颜色。

2014-02-19 06:40:17