我是Corona开发的新手,我四处寻找一些文档,看看这个平台是否能达到我的目标。
假设我的屏幕中有一个背景图像(例如320X480),我想将一个对象从一个点移动到另一个点。例如,我希望将一个对象从100,100移动到300,300。在本例中,我的对象遵循一条几乎覆盖整个屏幕宽度的行。但是,当我在不同的屏幕分辨率上运行这个应用程序时会发生什么呢?例如,在富高清屏幕上,在X轴上将一个物体从100移动到300,它只是移动了一点。
我从Corona文档中看到的是,通过提供不同的图像分辨率,可以支持多个屏幕。但是当我要通过屏幕坐标时会发生什么呢?我是否必须在运行时检查屏幕分辨率,并执行所有数学操作来缩放我的点坐标?或者我还遗漏了什么?
如果我错过了医生的一些东西,我会问你很抱歉:
发布于 2013-10-04 05:21:11
通常电晕会为你做所有这样的工作,如果你已经添加了适当的config.lua到你的项目。但为了更精确和更满意,我用了另一种方式:
正常情况下的:
-- Your object at point (100,100)
local myObject = display.newRect(0,0,50,50)
myObject.x = 100
myObject.y = 100
-- sample transition
transition.to(myObject,{time=1000,x=300,y=300})我在做什么:
-- Create a scale factor for X and Y
local _x = display.contentWidth/320
local _y = display.contentHeight/480
-- Multiply X values with '_x' and Y values with '_y', as below:
local myObject = display.newRect(0,0,50*_x,50*_y)
myObject.x = 100*_x
myObject.y = 100*_y
transition.to(myObject,{time=1000,x=300*_x,y=300*_y})注:
local _x = display.contentWidth/320,其中的除法因子是用于构建应用程序的模拟器/屏幕的width。在局部_y = display.contentHeight/480中,除法因子是模拟器/屏幕的height。继续编码.:)
发布于 2013-10-03 19:47:42
它为你把所有的东西都放大了。我不确定它是否在文档中具体提到过。
我也是较新的科洛娜(自7月以来),没有以前的移动经验。它用它所能做的把我吹走了。
发布于 2013-10-03 21:18:47
所有的工作都是为你做的。你定义你的默认屏幕分辨率(比如320x480 ),在你想要从100移动到300的任何分辨率中,它的行为都是一样的,因为电晕会像320x480一样对待所有屏幕分辨率。
https://stackoverflow.com/questions/19167714
复制相似问题