0 Members and 3 Guests are viewing this topic.
procedure Execute(var State: Integer); var P: TComponent; PLinks: TASEBindings;begin P:= FindObject('PauseBtn');case State of0:begin PLinks := P.Get('Bindings'); PLinks.ExecuteAction('Action'); State := 0;end;1:begin PLinks := P.Get('Bindings'); PLinks.ExecuteAction('Action'); State := 1;end;end;end;
Работает, но как сюда прикрутить обнуление счётчика скрипта при остановке воспроизведения? А то после Стоп'а из режима Пауза наборы кадров кнопки, как бы меняются местами
Боюсь, что если пользоваться горячими клавишами. а не кнопкой - будет глючить из любого состоянияА пробовал использовать оператор задержки при переключении состояния?
Но я так понял, что там задерживается вызываемое кнопкой действие, мне же надо заморозить третий кадр самой кнопки, примерно на секунду.
Борюсь с "дребезгом" кнопок , связанных с prvPlayerState, в частности, решил замахнуться на Вильяма, нашего, Шекспира скрипты, соорудив вот такую конструкцию:Code: [Select]procedure Execute(var State: Integer); var P: TComponent; PLinks: TASEBindings;begin P:= FindObject('PauseBtn');case State of0:begin PLinks := P.Get('Bindings'); PLinks.ExecuteAction('Action'); State := 0;end;1:begin PLinks := P.Get('Bindings'); PLinks.ExecuteAction('Action'); State := 1;end;end;end;Работает, но как сюда прикрутить обнуление счётчика скрипта при остановке воспроизведения? А то после Стоп'а из режима Пауза наборы кадров кнопки, как бы меняются местами
procedure Execute(var State: Integer); var P: TComponent; PLinks: TASEBindings;begin P:= FindObject('PauseBtn'); PLinks := P.Get('Bindings'); PLinks.ExecuteAction('Action')end;
Всё, что тут написано сводится к нажатию кнопки Pause и оператор case тут не нужен
Я пытался приспособить для своих нужд найденные примеры
А что ты хотел сделать? Мне раз пришлось через кнопку управлять скрытой кнопкой посредством подобного скрипта, нужно было одновременно с этим менять направление анимации в многостр. группе, через биндинг до этого параметра просто не добраться.
Вот пример задержки переключения состояния.Задержка сделана максимально просто и работает для любого состояния, тебе же нужно сделать задержку только для перехода из третьего кадра. Это сложнее, но, думаю, реализуемо.
... вот если бы по Стопу обнулялся и счётчик скрипта...
Счётчик можно обнулить из скрипта: XXX.Set('Position', 0). Но при этом вызовется и процедура скриптового счётчика.Аналогично можно управлять и таймером.
Думаешь, я что-нибудь понял? Что за ХХХ, в какую "позицию" и кого ставить? И потом, в моём вопросе было условие: счётчик должен обнуляться в момент перехода плеера в режим СТОП. Как это условие реализовать? Мне бы какой-никакой конкретный пример, иначе понять сложно...
Состояние плеера скиндвижку передаётся только одним способом: prvPlayerState, так что ничего нового с этим сделать не получится.А делать кучу костылей только для кнопок, игнорируя хоткеи - плохой выход.