在LiveCode中传递图像的x,y坐标

时间:2017-07-14 20:35:26

标签: screen livecode

我正在使用的LiveCode应用中的其中一张卡的屏幕截图如下所示。用户可以单击图标并在屏幕上移动它们,理想情况是使用右侧的框对它们进行排序。为了记录图标的排名,我想得到它们的y坐标 - 也就是说,y坐标值越高,排名越低。不过,我对如何将图像的坐标传递给变量感到难过。我对LiveCode很新,所以非常感谢任何帮助。rating_screenshot

3 个答案:

答案 0 :(得分:0)

欢迎使用LiveCode!

在LiveCode中,您有一个属性:

the loc of image ”imagename”

您可以将其作为变量传递给过程。这将包含以逗号分隔的图像(或任何控件)的x y。要得到你需要的第二项。因此,您可以在程序中获取它,也可以在传递时直接获取。假设您有一个名为saveOrder的过程,您可以通过某种方式保存数据。您可以使用y坐标调用它,如:

saveOrder item 2 of the loc of image “imagename”

如果您只是想抓住某些内容以确定哪个图片高于另一个图片,则可以使用the topthe bottom代替item 2 of the loc。在字典中查找它们以获得进一步的解释......

PS the locthe location的缩写,当然如果您愿意,可以将其写出来

答案 1 :(得分:0)

只是一个练习:在新卡上制作两个按钮。在卡片脚本中:

 on mouseMove
   if "button" is in the name of the target and the mouse is down then
     set the loc of the target to the mouseLoc
     put item 2 of the loc of the target
  end if
end mouseMove

单击按钮并拖动它。当你拖动时," Y"按钮中心的坐标将出现在消息框中。当然,当你释放时,最后一个坐标会坚持下去。

正如hliljegren指出的那样,你可能不想要中心,而是想要控制感兴趣的顶部或其他一点。

答案 2 :(得分:0)

你需要:

on MouseDown
   grab me
end MouseDown

Livecode是世界上最简单有效的语言!