我正在学习Corona SDK,也是lua的新手(我主要做ruby和一些javascript).
我有一个酒吧,我想填写用户做的东西.我把它设置如下:
--outer rectangle
powerBar = display.newRect(210, 6, 24, 9)
powerBar.strokeWidth = 1
powerBar:setStrokeColor(254,203,50)
powerBar:setFillColor(0,0,0,0)
--inner rectangle which fills up
powerBarFill = display.newRect(211,7,0,7)
powerBarFill:setFillColor(234,183,30)
Run Code Online (Sandbox Code Playgroud)
当"东西"发生时,我将1添加到powerBarFill.width,我认为这会使它从左向右增长.但是,它实际上是从中心生长出来的,即它的x位于中心,宽度从那里向两侧延伸.
什么是保持左侧静止并增长右侧的最佳方法?我可以设置它的x位置实际上是在左侧而不是在中间吗?似乎可能会这样做.
提前喝彩
在创建进度条时,我也遇到了这个问题.问题在于rect的参考点.您已经注意到,默认参考点位于对象的中心.您可以使用object:setReferencePoint()来更改它.我相信你想要使用这个display.BottomLeftReferencePoint值:
powerBar:setReferencePoint(display.BottomLeftReferencePoint)
请记住,在设置x,y值之前必须设置此值.因此,在您的情况下,您需要在创建矩形后设置参考点,然后再次为x,y分配值(即使您已在newRect构造函数中执行此操作):
powerBar = display.newRect(210, 6, 24, 9)
powerBar:setReferencePoint(display.BottomLeftReferencePoint)
powerBar.x, powerBar.y = 210, 6
Run Code Online (Sandbox Code Playgroud)