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/

Другие вопросы по тегам