图像显示在Corona Simulator的左上角

时间:2013-12-06 03:35:03

标签: lua corona

我刚开始玩lua / Corona,并且一直在使用这本书"用Corona创建手机游戏。" (Silvia Domenech)本书的第一个项目是制作一个简单的行星防御游戏。为此,我使用的是多屏应用程序(或#34;场景"因为它在OS X中调用)。第一步是使用Corona中的组显示图像。

这本书让我在主场景组中输入以下代码:

local image = display.newImage( "images/iphone_767.png")
group:insert( image )

将其添加到(我认为是)正确的组之后,代码如下所示:

-- Called when the scene's view does not exist:
function scene:createScene( event )
    local group = self.view

    -----------------------------------------------------------------------------
local image = display.newImage( "images/iphone_767.png")
group:insert( image )       
    --  CREATE display objects and add them to 'group' here.
    --  Example use-case: Restore 'group' from previously saved state.

    -----------------------------------------------------------------------------

end

对于图像,我首先尝试了一个320 x 480的图像。当它在模拟器上渲染时,它位于模拟器的左上角。以下是其呈现方式的屏幕截图:http://imgur.com/Kpm0XTd

配置文件设置为320 x 480像素。我真的不知道是什么导致这种情况,因为我还没有修改过我所描述的内容。有什么想法吗?

4 个答案:

答案 0 :(得分:2)

将令牌的x和y值设置为屏幕中心(假设您想要居中):

image.x = display.contentWidth/2
image.y = display.contentHeight/2

由于 阿南德

答案 1 :(得分:1)

我个人喜欢将变量设置为display.contentWidth和display.contentWidth。

_W = display.contentWidth
_H = display.contentHeight
image.x = _W/2
image.y = _H/2

你也可以这样格式化:

image.x = _W*.5
image.y = _W*.5

答案 2 :(得分:1)

Corona SDK最近开始使用新的图形引擎来影响事物的定位。 display.newImage()用于在0,0处绘制左上角,但现在它将中心绘制为0,0。最好的办法是始终明确设置图像的.x和.y。

答案 3 :(得分:1)

似乎现在存在简化方式:

image.x = display.contentCenterX
image.y = display.contentCenterY

或单行:

local image = display.newImage('images/iphone_767.png', display.contentCenterX, display.contentCenterY)

但是现在似乎更常规的模式是首先创建集中组:

-- Create centered group
local centeredGroup = display.newGroup()
centeredGroup.x = display.contentCenterX
centeredGroup.y = display.contentCenterY

-- Add background
local image = display.newImage(centeredGroup, 'images/iphone_767.png', display.contentCenterX, display.contentCenterY)