JSベースの手持ち連射機能+テキスト揺れ特殊効果コードの簡単実装

JSベースの手持ち連射機能+テキスト揺れ特殊効果コードの簡単実装

少し前にTikTokで揺れる連打が流行っていたので真似してみることにしました。さっそく効果をみてみますと…

エフェクト表示

ここに画像の説明を挿入

GIF 画像は少しぼやけて見えますが、実際の効果は良好です。

一見、何をすればいいか分からないので、まずは実装する機能を分解してみましょう。

  1. フルスクリーンの黒い背景を生成し、テキストを書き込み、コンテンツを中央に配置する
  2. シームレスなスクロールを実現
  3. テキストの揺れ効果を実現する
  4. 90度回転(デフォルトでは水平表示)

コードは次のとおりです

.html

 <div class="弾幕ボックス">
  <div class="text">揺れる字幕</div>
 </div>

.css

.弾幕ボックス{
  幅: 100vh;
  高さ:100vw;
  変換元: 50vw 50vw;
  変換: 回転(90度);
  空白: ラップなし;
  ディスプレイ: フレックス;
  コンテンツの中央揃え: 中央;
  アイテムの位置を中央揃えにします。
  背景色: #000;
  オーバーフロー: 非表示;
  アニメーション: aniShake 0.5 秒線形無限;
 }

 。文章 {
  幅: 100%;
  フォントサイズ: 50px;
  色: #FFF;
  アニメーション: aniMove 5秒線形無限;
  アニメーション塗りつぶしモード: forwards;
 }

 /* テキストのスクロール */
 @keyframes aniMove {
  0% { 変換: translateX(100%); }
  100% { 変換: translateX(-100%); }
 }
 
 /* 揺れる字幕効果*/
 @keyframes アニシェイク {
  0%、33% { テキストシャドウ: 3px -3px 0px #FE008E、-5px 5px 0px #00FFFF; }
  34%、66% { テキストシャドウ: 5px -5px 0px #FE008E、-3px 3px 0px #00FFFF; }
  67%、100% { テキストシャドウ: 3px -3px 0px #00FFFF、-5px 5px 0px #FE008E; }
 }

この時点で、揺れやスクロール効果のある手持ち弾幕機能が実現しました。

機能は複雑ではありません。最初はキャンバスで描画することを考えましたが、ミニプログラムではキャンバスなどのネイティブコンポーネントが比較的高いレベルにあります。特殊効果を切り替えたり、ポップアップウィンドウを書いて設定を変更したりしたい場合は、簡単ではありません。そこで私は CSS3 で調べて書いてみました。ただ言いたいのは、「CSS3 は素晴らしい!!!」ということです。

ミニプログラムでの設定効果のプレビューがさらに充実

最近、小さなプログラムを作成し、手持ち連射機能を追加し、より多くの機能を実現しました。また、設定したコンテンツを友人と共有することもできます。コードをスキャンして体験し、サポートしてください...

ここに画像の説明を挿入

要約: 初めてブログを書きました。午後中ずっと削除とカットに費やしました。記事を書くのはあまり得意ではありませんが、それでも完成しました。結局、人は自分で成長することを学ばなければなりません...

JS ベースの手持ち連射機能 + テキスト揺れ特殊効果コードを簡単に実装する方法についての記事はこれで終わりです。より関連性の高い js 手持ち連射テキスト揺れコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JS で実装したビデオ弾幕スクリーン効果の例
  • JavaScript ベースで弾幕特殊効果を実現
  • JavaScript の弾丸スクリーン効果のシンプルな実装
  • JavaScript ライブコメント連発カット画像機能ポイント収集効果コード

<<:  Dockerのヘルス検出メカニズム

>>:  Nginx で Brotli 圧縮アルゴリズムを有効にする方法の例

推薦する

divの適応高さは残りの高さを自動的に埋めます

シナリオ 1: HTML: <div class="outer"> ...

MySQL遅延レプリケーションライブラリ方式の詳細な説明

簡単に言えば、遅延レプリケーションとは、スレーブ データベースがマスター データベースより 1 時間...

スクロールラグの問題を解決するためのオーバーフロースクロールの詳細な説明

序文div またはモジュールに overflow: scroll 属性を使用すると、iOS フォンで...

MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

MACでMySQLの初期パスワードを忘れた問題を解決する方法を参考までに共有します。具体的な内容は次...

CSS3 のフレックスレイアウト幅の無効性の解決策

2 列レイアウトはプロジェクトでよく使用されます。この効果を実現する方法はたくさんあります。 しかし...

Vue における属性とプロパティの具体的な使用法と違い

目次Vue.jsにおける属性とプロパティ値および関連する処理として属性とプロパティの概念属性とプロパ...

Alipay の新しいホームページのフロントエンドの実践的な概要

もちろん、ページ パフォーマンスの最適化に関する個人的な経験も含まれています。ここでいくつかの点につ...

LeetCode の SQL 実装 (182. 重複するメールボックス)

[LeetCode] 182.重複メールPerson という名前のテーブル内のすべての重複メールを...

Js でオブジェクトのディープ オブジェクトを安全に取得するメソッドの例

目次序文文章パラメータ例Lodash 実装:トーキー機能: castPath関数: stringTo...

mysql: [エラー] 不明なオプション '--skip-grant-tables'

MySQL データベースがエラー 1045 (28000): ユーザー 'ODBC'...

Vue検証コードコンポーネントの使い方の詳しい説明

この記事の例では、vue検証コードコンポーネントで使用される具体的な実装コードを参考までに共有してい...

HTML 5.1 学習: 14 の新機能とアプリケーション例

序文ご存知のとおり、HTML5 はインターネット コミュニティ全体に標準を提供する組織である Wor...

MySQL データベース開発仕様 [推奨]

最近、問題のある新しい SQL が本番データベースに入力される数を最小限に抑えるために、開発仕様を整...

Nginx のパラメータをオンにして Web パフォーマンスを 3 倍向上させる方法

1. 遭遇したいくつかの問題2008 年にパフォーマンス テストを行っていたとき、パフォーマンス テ...

nginx パニック問題の解決方法の詳細な説明

nginx パニック問題に関しては、まず nginx の起動プロセス中に、マスター プロセスが構成フ...