在我的game.lua文件中我有:
local sprites = require("sprites.lua")
sprites.lua包含
local iceberg = display.newImage("iceberg.png")
iceberg.x = _W/2
iceberg.y = _H/2
iceberg.alpha = 1
现在,我想设置" iceberg.alpha"从#34; game.lua"到0,但如果我尝试,Corona返回"尝试索引全球冰山(零值)"
当然,sprites.lua包含
module(..., package.seeall)
我做错了什么?
我甚至尝试使用sprites.iceberg.alpha = 0,但显然它不起作用。
答案 0 :(得分:1)
请勿使用module
。只需返回iceberg
中的sprites.lua
值或您要访问的其他任何值:
-- sprites.lua
local iceberg = display.newImage("iceberg.png")
iceberg.x = _W/2
iceberg.y = _H/2
iceberg.alpha = 1
return iceberg
-- game.lua
local iceberg = require("sprites.lua")
-- iceberg.alpha is available here
Lua modules教程提供了有关其工作原理和更多参考资料的一些其他信息。
答案 1 :(得分:0)
确保您的变量不是本地变量。看看这个工作正常的例子。
如果您使用
,请在以下代码中说明local star = display.newLine( 200, 90, 227, 165 )
在test.lua中,您将收到错误消息。
这是“main.lua”。尝试更改Alpha值。
require "test"
star.alpha=0.5
这是“test.lua”。
star = display.newLine( 200, 90, 227, 165 )
star.anchorX = 0.2257
star.anchorY = 0.5
star.x = display.contentCenterX
star.y = display.contentCenterY
local function rotate(x)
timer.performWithDelay(1, function() star.rotation = star.rotation + 5;end, 15)
end
rotate()