Хранение одного спрайта в нескольких таблицах в lua - PullRequest
3 голосов
/ 26 марта 2020

Из-за недостатка понимания и знаний я думал, что это будет работать, но это не так.

У меня есть 4 спрайта, которые я могу sh хранить в 4 разных таблицах. Я думал, что спрайт физически будет в таблице, и я мог бы назвать его et c ... но, похоже, он указывает на спрайт, и все, что я делаю, например, изменение имени, на самом деле меняет имя на спрайте и, следовательно, имя во всех других таблицах.

spriteOne[1] = redFlower
spriteOne[2] = purpleSpiderWeb
spriteOne[3] = brownSpider
spriteOne[4] = greenSnake
spriteOne[1].name = "1" 
spriteOne[2].name = "1" 
spriteOne[3].name = "1" 
spriteOne[4].name = "1" 

print("sprite One:" .. spriteOne[1].name) --prints 1

spriteTwo[1] = redFlower
spriteTwo[2] = purpleSpiderWeb
spriteTwo[3] = brownSpider
spriteTwo[4] = greenSnake
spriteTwo[1].name = "2" 
spriteTwo[2].name = "2" 
spriteTwo[3].name = "2" 
spriteTwo[4].name = "2" 

print("sprite One:" .. spriteOne[1].name) --prints 2

spriteThree[1] = redFlower
spriteThree[2] = purpleSpiderWeb
spriteThree[3] = brownSpider
spriteThree[4] = greenSnake
spriteThree[1].name = "3" 
spriteThree[2].name = "3" 
spriteThree[3].name = "3" 
spriteThree[4].name = "3" 

print("sprite One:" .. spriteOne[1].name) --prints 3

spriteFour[1] = redFlower
spriteFour[2] = purpleSpiderWeb
spriteFour[3] = brownSpider
spriteFour[4] = greenSnake
spriteFour[1].name = "4" 
spriteFour[2].name = "4" 
spriteFour[3].name = "4" 
spriteFour[4].name = "4" 

print("sprite One:" .. spriteOne[1].name) --prints 4

Так что теперь я предполагаю, что мне нужно 16 отдельных спрайтов и я не могу использовать ярлык, имея только 4.

1 Ответ

2 голосов
/ 27 марта 2020

попробуйте так, и вы получите то, что вам нужно.

spriteOne[1] = {}
spriteOne[2] = {}
spriteOne[3] = {}
spriteOne[4] = {}
spriteOne[1].img = redFlower
spriteOne[2].img = purpleSpiderWeb
spriteOne[3].img = brownSpider
spriteOne[4].img = greenSnake
spriteOne[1].name = "1" 
spriteOne[2].name = "1" 
spriteOne[3].name = "1" 
spriteOne[4].name = "1" 

print("sprite One:"  .. spriteOne[1].name)

spriteTwo[1] = {}
spriteTwo[2] = {}
spriteTwo[3] = {}
spriteTwo[4] = {}
spriteTwo[1].img = redFlower
spriteTwo[2].img = purpleSpiderWeb
spriteTwo[3].img = brownSpider
spriteTwo[4].img = greenSnake
spriteTwo[1].name = "2" 
spriteTwo[2].name = "2" 
spriteTwo[3].name = "2" 
spriteTwo[4].name = "2" 

print("sprite One:" .. spriteOne[1].name)
...