Jun Kato
Jun Kato
Thanks for your comment! I created one with React but Vue. For the past Magical Mirai programming contests, I remember several projects used Vue (and also Svelte) so I'm sure...
@cyross TextAlive App APIのご利用ありがとうございます。言及いただいたクラスはご自身でインスタンス化することを想定しておらず、型宣言も公開していません。 その代わりに、 - Video -> [IVideo](https://developer.textalive.jp/packages/textalive-app-api/interfaces/IPlayer.html#video) - Phrase -> [IPhrase](https://developer.textalive.jp/packages/textalive-app-api/interfaces/IPhrase.html) - Word -> [IWord](https://developer.textalive.jp/packages/textalive-app-api/interfaces/IWord.html) - Char -> [IChar](https://developer.textalive.jp/packages/textalive-app-api/interfaces/IChar.html) のようにインタフェースとして公開されている型情報をご利用いただき、コード補完などでご活用いただければ幸いです。 ITemplateInterpreter インターフェースへの参照に関しては、リリックアプリ開発では利用しない機能がこちらの手違いで型定義ファイル内に露出していたものと思われます。
@cyross お返事遅くなりすみません。こちら、型定義を調整しました。 [IWord.animate](https://developer.textalive.jp/packages/textalive-app-api/interfaces/IWord.html#animate) などをご参照ください。フレーズ、単語、文字いずれの場合も [`(now: number, u: IRenderingUnit) => void` という型の関数](https://developer.textalive.jp/packages/textalive-app-api/types/RenderingUnitFunction.html) を `animate` に代入できるようにしました。 ただ、演出の時間精度を重視する場合は、 `animate` プロパティでなく、 [player.timer.position ](https://developer.textalive.jp/app/animation/#position) を参照しながら [player.findBeat](https://developer.textalive.jp/packages/textalive-app-api/classes/Player.html#findBeat) や、今回新しく実装された [player.findBeatChange](https://developer.textalive.jp/packages/textalive-app-api/classes/Player.html#findBeatChange) などをご利用いただいて画面を適宜再描画していただくことをお薦めします。 後者の活用例は以下のコードなどをご参照ください。 https://github.com/TextAliveJp/textalive-app-lyric-sheet/blob/ff4918ed88a15a571739d4e5e452a0ff80c63c73/script.js#L121-L138