【问题标题】:How to change the position of display objects which are inside a table如何更改表格内显示对象的位置
【发布时间】:2013-06-07 15:19:27
【问题描述】:

我想在特定位置创建一个带有display Objectstable。我写了以下

for i=0, 5 do
      life[i] = display.newImage( "life.png"  )
end

但是当我尝试这个时:

for i=0, 5 do
      life[i] = display.newImage( "life.png"  )
      life[i].x=i*Space_
end

编译器抱怨attemp to index field ? nil value

知道为什么会发生这种情况,或者我该如何解决?我想使用 for 循环在特定位置的表(或组?)中添加对象。

【问题讨论】:

  • 为这个问题找到一个更好的标题。您得到的错误与更改显示对象的位置无关。其实还有关于“索引字段?(nil值)”的类似帖子。

标签: lua coronasdk


【解决方案1】:

告诉我们空格_在您的代码中的位置。 试试这个:

local SpaceX = 10

for i=0, 5 do
      life[i] = display.newImage( "life.png"  )
      life[i].x = i * SpaceX 
end

【讨论】:

  • Space_是一个全局变量,它的屏幕宽度除以24。
【解决方案2】:

Corona 没有找到您的图像并返回 nil 作为 display.newImage 调用的结果。当您尝试访问具有 nil 值的字段 x 时,您会收到错误消息。

确保您的图像可用于您的脚本。

【讨论】:

  • 如果它找不到图像,我猜它不会在屏幕上显示它
  • 您显示的代码中没有其他内容会触发此错误。包括带有完整错误消息的行号。
【解决方案3】:

这个断言可能应该触发,因为 life.png 找不到

for i=0, 5 do
      life[i] = assert(display.newImage("life.png"), "image could not be found")
      life[i].x=i*Space_
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 2016-01-09
    • 2019-02-14
    相关资源
    最近更新 更多