Render.ru

проблема с простейшим скриптом.. помогите пожалуйста

Денис Еремеев

Пользователь сайта
Рейтинг
2
#1
взялся за изучение макс-скрипта и нна первых же шагах возникла сложность. Разбираясь с причиной ошибки дошел до рафинированного кода где нет ничего, а ошибка продолжает возникать. вот код:

rollout unnamedRollout "Untitled" width:162 height:300
(
button btn1 "Button" pos:[45,224] width:71 height:51

on btn1 pressed do (

aaa()

)

)


fn aaa = (
messagebox "sdfg"
)


test= newRolloutFloater "Rollout Order Test" 230 600 20 100
addRollout unnamedRollout test

aaa()

В чем ситуация - при первом запуске скрипта функция "aaa" запускается нормально... но при попытке запустить ее нажатием на кнопку в появившемся интерфейсе упорно возникает следующая ошибка: >> MAXScript Rollout Handler Exception: -- Type error: Call needs function or class, got: undefined <<


Причем если после этого попробовать запустить скрипт повторно то никакой ошибки нет... Скажите мне что я делаю не правильно?
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#2
Конечно ты объявяеш функцию уже после того как на нее ссылаешся, в твоем случае проще определять ее в теле rollout до всех "on"
Читай главы:
Scope of Variables
Local and Global Variables
Visibility of Locals, Functions, Structures, and User-Interface Items in Rollout Code
Accessing Locals and Other Items in a Rollout from External Code
 
Сверху