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 圧縮アルゴリズムを有効にする方法の例

推薦する

Mysql 5.7.18 MySQL proxies_priv を使用して同様のユーザーグループ管理を実装する

MySQL proxies_priv(シミュレートされたロール)を使用して同様のユーザーグループ管理...

Windows 上の MySQL バージョン 5.7 でエンコードを UTF-8 に変更する方法

序文MySQLの勉強を始めたばかりで、公式サイトから最新バージョン5.7.14をダウンロードしました...

モバイル アプリのユーザー インターフェース設計に関する 10 のヒント

ヒント1: 集中力を保つ最高のモバイル アプリは、1 つのことを非常にうまく行うことに重点を置いてい...

Centos7 への mysql8.0rpm のインストール チュートリアル

まず、図をダウンロードしてください 1. まず、centos7に付属しているmariadbをアンイン...

haslaylout と bfc 解析の理解

1. haslayout と bfc は IE 固有の標準属性です。 2. BFC はページ上の分離...

Docker でコンテナのポート マッピングを動的に変更する方法

前書き: Docker のポート マッピングは、多くの場合、Docker Run コマンド中に -p...

vue+drf+サードパーティのスライディング検証コードアクセスの実装

目次1. 背景2. 検証プロセス3. 検証を作成する4. フロントエンドコード4.1 コアjsファイ...

Tomcat および Web アプリケーションの Docker デプロイメントの実装

1.dockerをオンラインでダウンロードする yum インストール -y epel-release...

MySQL インデックスクエリ最適化スキルを習得するための記事

序文この記事では、DBA がいないチームが参考にできるように、MySQL の一般的な使用に関するヒン...

jQuery キャンバスは QR コード付きのポスターを生成します

この記事では、jQuery キャンバスを使用して QR コード付きのポスターを生成するための具体的な...

花火効果を実現するJavaScript(オブジェクト指向)

この記事では、花火効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具...

Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題をどのように解決するかの詳細な説明

フロントエンドのクロスドメイン問題に2日間近く悩まされましたが、ようやくngnxを使って解決したので...

Ubuntu 20.04でLNMP環境を構築する方法

簡単な説明以前 Centos7 で構築し、その後個人開発環境として Ubuntu 20.04 を使っ...

Alibaba Cloud Centos7のインストールとSVNの設定

1. SVNサーバーをインストールする yum でサブバージョンをインストール2. SVNバージョン...

WIN10 システムと Docker 内部コンテナ IP 間の通信方法

1. Windows 版の Docker をインストールしたら、Docker クイックスタート ター...