ニコニコ動画でよく見える弾幕機能はどうやって実装するかが気になっていました。

ライブラリを使ったら、すぐにできると思いますが、サイトも重くなるリスクもあります。

今回はブログでライブラリとフレームワークを使わず、弾幕を実装できるテクニックを紹介します。

 

 

フレームアニメーション

フレームにより、アニメーションを作る論理はゲーム開発でよく使っています。

基本のフレームアニメーションの手順は下記です。

  1. htmlのcavansのキャッシュをクリアする
  2. フレームの状態により、フレームを描画する
  3. 次のフレームの状態更新する
  4. 1~3を振り返りする

web開発で固定時間で振り返りする方法は二つがあります。今回にrequestAnimationFrameを使います。

 

実装必要なクラス

ロジックを理解しやすいように、今回実装するクラスの役割を紹介します。

  • LineManager:  画面の弾幕行数を設定できる
  • Line: 弾幕発射頻度、位置管理できる
  • TextEnemy:弾幕の位置、スピード、サイズ、削除を設定できる

 

Step1: htmlを設定する

 

Step2: CSSを設定する

 

Step3: Javascriptを設定する

 

もっと面白くする

  • 弾幕の色をランダムにする
  • 最大行列を8列にする
  • 発射スードを10倍にする

いい感じになりますね!笑

 

皆さんが普段に開発する時に参考になれば、幸いです。

最後まで読んでいただきありがとうございます!

 

参考資料

cavans API

No Library No Frameworkゲーム開発

Follow me!