RPG Maker MV - проверка того, какой кадр листа персонажа активен в данный момент
У меня есть лист персонажа для игрока, который срабатывает, когда они какое-то время бездействуют. На листе они переходят из положения в положение лежа в 6 кадрах, спят в течение 3 кадров и затем снова вставают в 7 кадрах.
Я хочу приостановить анимацию, когда она достигнет 9-го кадра, без использования таймеров (поскольку лист персонажа может измениться в будущем). Есть ли функция, которая позволит мне узнать, какой кадр анимации отображается в данный момент?
В качестве альтернативы, есть ли способ узнать, достиг ли лист персонажа последнего кадра и собирается ли он вернуться к первому кадру. Мне нужно знать, когда эта анимация завершила цикл, чтобы я мог плавно вернуться к анимации ходьбы.
1 ответ
Я расширяю плагин ExtraMovementFrames от Modern Algebra, поэтому решение в конечном итоге заключалось в том, чтобы захватить вывод этого:
var patternIndex = (this._pattern % this.emfCharacterState().pattern.length);
который использует ._pattern
свойство игрока по модулю продолжительности анимации.
Затем я использовал this.setStepAnime(false);
, чтобы приостановить анимацию ходьбы персонажа, когда он достигнет желаемого кадра.
Также спросил об этом на mv-форумах разработчиков RPG: https://forums.rpgmakerweb.com/index.php?threads/checking-which-frame-of-a-character-sheet-is-currently-active.115662/