当我通过此代码或任何其他代码在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和text out of display
http://tinypic.com/r/34grcao/8
这里坐标左= 50,顶部= 10,现在我们看到文字,但为什么左上角没有左= 0,顶部= 0?
http://tinypic.com/r/259jqfb/8
感谢您的回答!
答案 0 :(得分:3)
您正在将rect的位置设置为0,0 - 并且该rect的“锚点”是对象的中心。所以屏幕上的矩形如图所示是正确的 - 中心位于0,0。
要将矩形置于屏幕中心,只需修改x和y属性:
background.x = display.contentCenterX
background.y = display.contentCenterY
这应该将矩形放在屏幕上。
Corona SDK 使用创建具有左上角锚点的对象,然后自动移动到中心锚点。最近改变了所以它们现在用中心锚点创建。
答案 1 :(得分:1)
您也可以在main.lua文件中使用它
display.setDefault("background", 255, 255, 255, 1)
它将为所有屏幕设置默认背景颜色。