Строка метки Maxscript
Приведенный ниже код работает нормально, только я хочу динамически изменять текст метки перед созданием развертывания, а не после. Я пытаюсь передать переменную (rolloutlabel) как строку в свитке, только я не могу сделать это без необходимости кодировать ее, обновляя ее кнопкой. (Бесполезная) ошибка, которую я получаю, если раскомментировать 6-ю строку "синтаксическая ошибка: at =, ожидаемое имя"
rolloutlabel = "label"
rollout rolloutDialog "Rollout" width:100 height:50
(
label alabel "" pos:[10,10] width:90 height:16
button updateBTN "Update label" pos:[10,25] width:80 height:16
-- alabel.text = rolloutlabel as string
-- this just gets a syntax error if i leave it here uncommented
on updateBTN pressed do
(
alabel.text = rolloutlabel
)
)
createDialog rolloutDialog
Есть идеи, где я иду не так?
2 ответа
Решение
Взгляните на предложение о развертывании:
rolloutlabel = "label"
rollout rolloutDialog "Rollout" width:100 height:50
(
label alabel "" pos:[10,10] width:90 height:16
button updateBTN "Update label" pos:[10,25] width:80 height:16
-- alabel.text = rolloutlabel as string
-- this just gets a syntax error if i leave it here uncommented
on rolloutDialog open do
(
alabel.text = rolloutlabel
)
on updateBTN pressed do
(
alabel.text = rolloutlabel
)
)
createDialog rolloutDialog
Вы можете сохранить тот же сценарий, но вместо пустых двойных кавычек после alabel вы можете просто написать rolloutlabel. Сценарий будет таким:
rolloutlabel = "label"
rollout rolloutDialog "Rollout" width:100 height:50
(
label alabel rolloutlabel pos:[10,10] width:90 height:16
button updateBTN "Update label" pos:[10,25] width:80 height:16
--alabel.text = (rolloutlabel as string)
-- this just gets a syntax error if i leave it here uncommented
on updateBTN pressed do
(
alabel.text = rolloutlabel
)
)
createDialog rolloutDialog