将按钮或文本放置在可滚动背景图像的确切位置上。

假设我有这样的背景图像:

http://i.imgur.com/rRCtzyl.png

我想在白色框中放一个按钮或文字。当图像根据设备屏幕大小缩放时,我的文本或按钮必须完美地缩放和适应框。这个图像在垂直方向上不能适合屏幕,因此它是可滚动的。如果我想它们一起滚动,我知道我需要将它们放在一个组中。

但是,我如何将按钮放置在框内?由于它是可滚动的,因此我不知道框的确切x和y值。更不用说这些值会根据设备屏幕大小而改变。如何使按钮根据所有屏幕大小缩放以适合框?

这个图片只是一个例子。当然,如果我自己通过编程绘制框的话,我就不会有问题。我会知道放置按钮的位置。假设我不知道框的坐标和大小,因为我没有绘制过它。

点赞
用户825481
用户825481

如果您的盒子对象被称为 box,则可以将按钮设置为 box.xbox.y,如下所示:

object1.x = box.x
object1.y = box.y
2014-02-22 21:11:41
用户869951
用户869951

滚动视图对于放置在同一组的按钮和图像并滚动该组来说是不重要的。然后你只需要将按钮相对于图像定位一次,其余的事情就由 Corona 处理了。

重要的是屏幕分辨率。解决这个问题的一种方法是查看完整分辨率的图像,并计算框框所在的 x 和 y 像素位置。例如,

图像:200 x 300 像素
框框左上角:100,100(相对于图像左上角的像素)
框框宽高:20,60

然后您使用比例:按钮框的左上角在图像大小的0.5、0.3333处;按钮框的宽度为图像大小的0.1,高度为0.2。然后当您启动应用程序时,根据实际分辨率计算将是图像缩放因子并将其应用于框坐标:

设备 300 x 400:
    图像的宽度缩放为 1.5 倍,高度缩放为 1.333 倍
    因此按键框应该在 (200*1.5*0.5, 300*1.333*0.333)
    宽度为 20*1.5,高度为 60*1.333
2014-02-23 03:18:23