首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多屏幕CoronaSDK中的点坐标

多屏幕CoronaSDK中的点坐标
EN

Stack Overflow用户
提问于 2013-10-03 19:33:32
回答 3查看 623关注 0票数 2

我是Corona开发的新手,我四处寻找一些文档,看看这个平台是否能达到我的目标。

假设我的屏幕中有一个背景图像(例如320X480),我想将一个对象从一个点移动到另一个点。例如,我希望将一个对象从100,100移动到300,300。在本例中,我的对象遵循一条几乎覆盖整个屏幕宽度的行。但是,当我在不同的屏幕分辨率上运行这个应用程序时会发生什么呢?例如,在富高清屏幕上,在X轴上将一个物体从100移动到300,它只是移动了一点。

我从Corona文档中看到的是,通过提供不同的图像分辨率,可以支持多个屏幕。但是当我要通过屏幕坐标时会发生什么呢?我是否必须在运行时检查屏幕分辨率,并执行所有数学操作来缩放我的点坐标?或者我还遗漏了什么?

如果我错过了医生的一些东西,我会问你很抱歉:

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-04 05:21:11

通常电晕会为你做所有这样的工作,如果你已经添加了适当的config.lua到你的项目。但为了更精确和更满意,我用了另一种方式:

正常情况下的

代码语言:javascript
复制
-- 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})

我在做什么:

代码语言:javascript
复制
-- 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})

注:

  • 在尝试上述代码时,您必须为iPhone模拟器开发代码。因此,我获得了local _x = display.contentWidth/320,其中的除法因子是用于构建应用程序的模拟器/屏幕的width。在局部_y = display.contentHeight/480中,除法因子是模拟器/屏幕的height

继续编码.:)

票数 2
EN

Stack Overflow用户

发布于 2013-10-03 19:47:42

它为你把所有的东西都放大了。我不确定它是否在文档中具体提到过。

我也是较新的科洛娜(自7月以来),没有以前的移动经验。它用它所能做的把我吹走了。

票数 0
EN

Stack Overflow用户

发布于 2013-10-03 21:18:47

所有的工作都是为你做的。你定义你的默认屏幕分辨率(比如320x480 ),在你想要从100移动到300的任何分辨率中,它的行为都是一样的,因为电晕会像320x480一样对待所有屏幕分辨率。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19167714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档