Corona sdk问题(新手)

时间:2011-09-01 11:40:40

标签: sdk corona

我不明白如何使用电晕sdk(正面,顶部,中间)添加图像。我的意思是像cocos2d我可以添加例子[self addChild:bg z:-1]; [self addChild:nextSprite z:1]; [self addChild:secondSprite z:2];但是没有z:数字值与电晕sdk ..

所有我注意到的是,当我添加newImage时,它会与之前的newImage相提并论。我必须使用groups来完成它。或者是什么..

我遇到了这个问题,当方向改变时,背景图像也会改变。但是当图像改变时它会隐藏所有按钮..(=来到屏幕顶部并隐藏所有其他对象)..

5 个答案:

答案 0 :(得分:2)

为了给出具体的答案,我通过创建初始组然后根据需要将图像添加到这些组来解决了这个问题。

local bgGroup = display.newGroup() -- renders first
local midGroup = display.newGroup()
local nearGroup = display.newGroup() -- renders last, over other groups

-- create images/etc

bgGroup:insert(backgroundImage)
midGroup:insert(houseImage)
nearGroup:insert(personImage)

答案 1 :(得分:1)

正如您所发现的,Corona没有明确的z排序。对象的显示顺序与它们在组中的显示顺序完全相同。如果要更改其绘制的顺序,可以在特定索引处重新插入对象,但这就是它。

如果您遇到特定问题则无法解决,我建议您将其作为单独的问题与一些示例源代码一起发布。但一般来说,如果您要添加新图像并希望它在现有图像的后面,只需使用group:insert指定索引为1。

答案 2 :(得分:1)

group:insert(1,backimage)
group:insert(2,middleimage)
group:insert(3,fontimage)

希望你明白我的意思。

答案 3 :(得分:0)

在Corona SDK中有几种解决zindex的方法

1)您建议的方法,其中所有内容都在不同的组中。

2)group:insert([int],displayObject)其中[int]是您希望显示对象在组中呈现的位置。因此1位于底部,2位于中间,3位于顶部。

3)您可以使用displayObject:toFront()或displayObject:toBack()等函数来重新定位显示对象。您还可以将对象重新插入到同一组中,以将其添加到顶部,甚至是新位置(请参阅方法2)。

答案 4 :(得分:0)

我会退房 Object.alpha = 0.8(或者你在1.0以下选择的任何数字) 基本上你可以让它出现在其他对象的前面它运作得相当好。