Опять застрял. Выручите плз. В общем есть функция, которая останавливает бегунок анимации:
---------fn
fn CurentFrames tempFrame =
(
global tempFrame2=tempFrame
rollout CFrames "Frames"
(
timer tclock "Timer" interval:20
label var01 ""
on tclock tick do
(
var01.text = slidertime as string
if slidertime >= tempFrame2 do
(
print slidertime
stopAnimation()
destroydialog CFrames
)
)
)
createdialog CFrames
)
-----------fn
Она прекрасно останавливает бегунок при выключенной кнопке AutoKey.
При включении же записи анимации перестает работать, хоть тресни не могу понять почему.
Вот пример кода:
(-----start
---------fn
fn CurentFrames tempFrame =
(
global tempFrame2=tempFrame
rollout CFrames "Frames"
(
timer tclock "Timer" interval:20
label var01 ""
on tclock tick do
(
var01.text = slidertime as string
if slidertime >= tempFrame2 do
(
print slidertime
stopAnimation()
destroydialog CFrames
)
)
)
createdialog CFrames
)
-----------fn
max time start
max tool animmode
max time play
CurentFrames 95
max tool animmode
)---end
Обновление сообщения автором
14.12.2012 в 20:40
Да вот еще хотелось бы добавить. Если запускать функцию в ручном режиме, к примеру, с листенера и только потом включать запись и запускать слайдер(play), то прекрасно останавливает. Помогите разобраться, в чем же разница???
max time start
max tool animmode
CurentFrames 95
max time play
max tool animmode
Вариант2:
max time start
max tool animmode
playAnimation immediateReturn:true
CurentFrames 95
max tool animmode
... и запускать слайдер(play) ... Помогите разобраться, в чем же разница?
Time Control
Calling playAnimation() is a thread-blocking call internally in 3ds Max and does not return until the playback is stopped by the user clicking the Stop Play button or another thread executing a stopAnimation()
If immediateReturn is set to true, or Real Time Playback is off (realTimePlayback = false), the method returns immediately.
Спасибо, что в хелп направляешь!)) Все заработало! Но только немножко не так, как хотелось бы.
Суть как раз в том, что надо проигрывать анимацию именно при включенной записи. Сейчас же все нормально останавливается, а AutoKey включается только на какое-то мгновение.
В общем надо добиться такой работы от скрипта, как если бы человек сам нажимал AutoKey -> Play -> Stop(для отключения на нужном кадре) -> AutoKey.
Помоги плз разобраться.
П.С. Да, если можно, как-нить пану модератору название темы поправить на "Тема: Как остановить slider при включенном AutoKey?"
(-----start
---------fn
fn CurentFrames tempFrame =
(
global tempFrame2=tempFrame
rollout CFrames "Frames"
(
timer tclock "Timer" interval:20
label var01 ""
on tclock tick do
(
var01.text = slidertime as string
if slidertime >= tempFrame2 do
(
print slidertime
stopAnimation()
destroydialog CFrames
)
)
)
createdialog CFrames
)
-----------fn
max time start
max tool animmode
CurentFrames 95
max time play
max tool animmode
)---end
Вариант2:
(-----start
---------fn
fn CurentFrames tempFrame =
(
global tempFrame2=tempFrame
rollout CFrames "Frames"
(
timer tclock "Timer" interval:20
label var01 ""
on tclock tick do
(
var01.text = slidertime as string
if slidertime >= tempFrame2 do
(
print slidertime
stopAnimation()
max tool animmode
destroydialog CFrames
)
)
)
createdialog CFrames
)
-----------fn
max time start
max tool animmode
playAnimation immediateReturn:true
CurentFrames 95
)---end
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Александр Якушев
Она прекрасно останавливает бегунок при выключенной кнопке AutoKey.
При включении же записи анимации перестает работать, хоть тресни не могу понять почему.
Вот пример кода:
Обновление сообщения автором
14.12.2012 в 20:40
Да вот еще хотелось бы добавить. Если запускать функцию в ручном режиме, к примеру, с листенера и только потом включать запись и запускать слайдер(play), то прекрасно останавливает. Помогите разобраться, в чем же разница???
igorznag
Вариант2:
Time Control
Calling playAnimation() is a thread-blocking call internally in 3ds Max and does not return until the playback is stopped by the user clicking the Stop Play button or another thread executing a stopAnimation()
If immediateReturn is set to true, or Real Time Playback is off (realTimePlayback = false), the method returns immediately.
Александр Якушев
Суть как раз в том, что надо проигрывать анимацию именно при включенной записи. Сейчас же все нормально останавливается, а AutoKey включается только на какое-то мгновение.
В общем надо добиться такой работы от скрипта, как если бы человек сам нажимал AutoKey -> Play -> Stop(для отключения на нужном кадре) -> AutoKey.
Помоги плз разобраться.
П.С. Да, если можно, как-нить пану модератору название темы поправить на "Тема: Как остановить slider при включенном AutoKey?"
igorznag
Александр Якушев