Здесь при нажатии кнопкиКак перезаписать ранее созданный newText объект
local politeButton = widget.newButton
{
left = 35,
top = 335,
width = 70,
height = 70,
defaultFile = "images/politeRu.png",
overFile = "images/politeWhiteRu.png",
onPress = politeGenerator,
}
и вот функция (на самом деле это закодировано вверх над кнопкой)
math.randomseed(os.time())
local function politeGenerator()
local firstRandomPart = math.random(1,3)
local secondRandomPart = math.random(1,3)
local thirdRandomPart = math.random(1,3)
local firstComplPart = {"I love", "I need", "I beg"}
local secondComplPart = {" you like mad ", " the color of your eyes ", " your lips "}
local thirdComplPart = {"and I wish you are going to be mine!", "and I am shivering!", "and this is all I want!"}
local politeCompliment = firstComplPart[firstRandomPart]..secondComplPart[secondRandomPart]..thirdComplPart[thirdRandomPart]
local complimentItself = display.newText(politeCompliment, 30, 150, 200, 200, "Lobster", 18)
end
Я создаю кнопку с функцией под названием
Хорошо, теперь я вижу случайный текст в симуляторе. Но когда я снова нажимаю кнопку, старый текст не исчезает, и новый текст появляется в старом тексте и так далее. Но мне нужно переписывать текст каждый раз, когда нажимаете кнопку. Я пробовал event.phase == "began"
, я пробовал complimentItself:removeSelf()
, но все напрасно. Может ли кто-нибудь помочь, пожалуйста? Я просто не понимаю, почему переменная не перезаписывается, когда я нажимаю кнопку.
ли 'complimentItself' новый виджет, который содержит текст, который вы только что создали? Если это так, вы теряете ссылку на нее, когда функция выходит, и вы не можете ее удалить позже. Поэтому каждый раз через функцию вы создаете новый виджет и никогда не удаляете старые. Вам нужно сохранить старую ссылку и удалить ее с экрана, который я представляю (хотя я ничего не знаю о короне). –
Etan, спасибо за ваше участие, ваше предложение имеет смысл для меня, но я до сих пор не получаю «как», или я не понимаю, где именно моя ошибка. – pulp
Вы используете глобальную (или внешнюю локальную) для хранения старой ссылки и удаляете ее, когда politeGenerator запускается снова, или вы узнаете, как подключить какой-либо другой механизм (событие, сигнал и т. Д.), Чтобы текстовый виджет знал, что ему нужно удалить себя. Я не могу быть более конкретным, так как я не знаю достаточно о короне. Глобальный/внешний локальный маршрут, безусловно, прост. –