все!
Я пришел сюда, потому что у меня есть одна проблема, которая давала мне покоя довольно долго. Я использую движок love2d в качестве «графического» дополнения к сценариям lua, но эта проблема относится к типу lua (я думаю, по крайней мере).
У меня есть функция:
createNew_keepOld = function (oldImgData, oldImgDraw)
local newImgData = oldImgData --I am assigning old value to another variable
local newImgDraw = oldImgDraw --I am doing the same thing as with data
for x = 0, newImgData:getWidth()-1 do
for y = 0, newImgData:getHeight()-1 do
local r, g, b, a = newImgData:getPixel(x, y)
r = 2*r
g = 2*g
b = 0.5*b
a = 2*a
newImgData:setPixel(x, y, r, g, b, a)
end
end
newImgDraw:replacePixels(newImgData)
return newImgData, newImgDraw
end
Когда этот код заканчивается, я получаю нужное мне изменение, но не ГДЕ, где я этого хочу. Я просто хочу создать две новые переменные, которые будут хранить данные и изображения объектов. Но, в процессе, оригинальное изображение изменяется.
Есть ли способ объявить:
name = function (const param, const param)
return some_things
end
Чтобы получить нужный вывод без изменения оригинального материала? Или есть проблема с моим кодом, которую я не вижу?
Спасибо!