2017-11-16 10 views
1

, 나는을 file2 할 수있는 값, 데이터 나 개체를 내보낼 수 있습니다,하지만 내 말은변경 일, 코로나 SDK를

("파일"로 file1에하는 파일 2 내보낼 수 없습니다 lua 파일, 예제, Scene1.lua, Data.lua)

어떻게 file2에서 file1 및 viceversa로 내보낼 수 있습니까?

예 코드

Data.lua (FILE1)

--data.lua 

local M = {} 

local money = 500 
local moneyText = display.newText("Money: " .. money, 
display.contentCenterX, display.contentCenterY, "calibri", 50) 

M.moneyText = moneyText 
M.moneyData = money 

return M 

파일 2

--file2.lua 

local Data = require("data") 

local moneyText2 = Data.moneyText 
local moneyData = Data.moneyData 

local function addSomeValue() 
moneyData = moneyData + 1 
end 

timer.performWithDelay(1000, addSomeValue, 0) 
+0

file1에서 데이터를 익스포트하지 않으면 file1로 작성된 코드를로드하고 실행합니다. 정확히 무엇을 달성하기를 원합니까? 어떻게 작동하는지 오해하고있는 것 같습니다. – Piglet

+0

Ooh, 필자는 file1이 export되지 않았으므로, file1에서 화폐 가치를 file2로 변경하고 싶습니다. 어떻게해야합니까? –

답변

1
local Data = require("data") 

개 이하 등가

function chunkFromDataLua() 

    local M = {} 

    local money = 500 
    local moneyText = display.newText("Money: " .. money, 
    display.contentCenterX, display.contentCenterY, "calibri", 50) 

    M.moneyText = moneyText 
    M.moneyData = money 

    return M 

end 

local Data = chunkFromDataLua() 
이고

Data 지금 M

local money = 500 
M.moneyData = money 

는 M.에 따라서 M.moneyData 돈에 영향을 미치지 않습니다 변화 돈과 저장의 복사본을 생성 테이블을 참조. 따라서 Data.moneyData를 변경해도 비용에는 영향을 미치지 않습니다. 그

local moneyText = display.newText("Money: " .. money, 
    display.contentCenterX, display.contentCenterY, "calibri", 50) 

외에

그 순간 money의 값을 사용하여 정적 텍스트 표시 오브젝트를 생성한다. 그 후에 money 값을 변경해도 텍스트 디스플레이의 내용은 변경되지 않습니다. 그러려면 Data.moneyText.text을 변경해야합니다.