CocosCreatorがスキル冷却効果を実装

CocosCreatorがスキル冷却効果を実装

CocosCreatorがスキルCD効果を実現

多くのゲームにはスキルがあります。プレイヤーがスキルボタンをクリックすると、そのスキルにはクールダウン時間があります。クールダウン時間が終了すると、そのスキルは再び使用できるようになります。

Cocos でこの効果を実現するのは非常に簡単です。スプライト コンポーネントを使用する必要があります。まず、スキル ボタンの画像をキャンバスにドラッグします。

次に、スキルボタンの下に新しいラベルを作成します
このような

次に、新しいTSスクリプトを作成し、次のコードをコピーして貼り付けます。

const {ccclass、プロパティ} = cc._decorator;

@ccクラス
デフォルトクラス NewClass をエクスポートし、cc.Component を拡張します。

    @property(cc.Sprite)
    skill:cc.Sprite = null; //スキルスプライト @property(cc.Label)
    time_label:cc.Label = null; //スキルクールの残り時間をテキストで表示します @property
    time:number = 3; //スキルのクールタイム @property
    isshow_label:boolean = true; //テキストを表示するかどうか onLoad(){
        this.skill.fillRange = 1; //ゲーム開始時のスキル充填範囲は1です
    }

    更新(dt:数値){
        if(this.skill.fillRange != 1){//スキルウィザードの充填度が1でない場合は、スキルが使用されたことを意味しますthis.skill.fillRange += dt / this.time;//スキルのフレームごとに復元される値は、フレームレート / スキルクールダウン時間ですthis.time_label.string = Math.floor(((1 - this.skill.fillRange) * this.time)).toString();//フレームごとにスキルの残り時間を更新します//スキルの残り時間は、最初に1 - スキルウィザードの充填度、次に* スキルクールダウン時間、最後にMath.floorで丸められますif(this.isshow_label == true){//テキストを表示できる場合this.time_label.node.active = true;//スキルクールダウンの残り時間を表示します} }
        if(this.skill.fillRange == 1){//スキルスプライトの塗りつぶしが 1 の場合、スキルがまだ使用されていないことを意味します this.skill.getComponent(cc.Button).interactable = true;//開始ボタン this.time_label.node.active = false;//スキルクールダウンの残り時間を非表示にします}
    }

    onbtn(){//スキルボタンが押されたときのイベント this.skill.fillRange = 0;//スキルの塗りつぶし範囲は0に設定されます
        console.log("使用されたスキル"); //ログを印刷
        this.skill.getComponent(cc.Button).interactable = false; //ボタンを無効にする}

}

コードの各行に詳細なコメントを記述しました。

書いたスクリプトをスキルボタンに掛けてノードをバインドする

必要に応じて変更可能

  • 時間はスキルのクールダウン時間です。好きなように変更できます。
  • Isshow_timeは、残りのクールダウン時間をテキストで表示するかどうかです。テキストを表示したくない場合は、チェックを外してください。デフォルトでは、

コードを書くだけでは十分ではありません。スキル ボタンの設定もいくつか行う必要があります。スプライト コンポーネントを変更し、スキル ボタンにボタン コンポーネントを追加する必要があります。

写真に合わせて調整してください

  1. タイプはスプライトのレンダリングモードを塗りつぶすように変更する必要があります
  2. 塗りつぶしタイプは塗りつぶし方法を扇形塗りつぶしに変更します
  3. 中心を塗りつぶすは、セクターの中心点を変更します。0,0 は左下隅、1,1 は右上隅です。中心点の周りをセクターで塗りつぶしたいので、0.5,0.5 に変更します。
  4. 塗りつぶし範囲は塗りつぶしの合計量を1に変更します

最後に、スキルボタンにボタンコンポーネントを追加します。

バインドされたイベントは onbtn です。見栄えを良くするには、ボタン コンポーネントの Transition を COLOR に変更します。

完了です。[実行] をクリックして確認してください。

本当に良い

スキルボタンをクリックしたら、onbtn にコードを入力するだけです。

ここに入れてください

例えば、スキルボタンを押すと特殊効果アニメーションを再生することができます

上記は、CocosCreator がスキル冷却効果を実装する方法の詳細です。CocosCreator スキル冷却の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • CocosCreatorでシューティングゲームを作る詳しい解説
  • CocosCreatorでクールなレーダーチャートを描く方法
  • CocosCreator MVCアーキテクチャの詳細な説明
  • CocosCreatorメッセージ配信メカニズムの詳細な説明
  • CocosCreator 入門チュートリアル: ネットワーク通信
  • CocosCreatorでWeChatゲームを作成する方法
  • CocosCreator システムイベントがどのように生成され、トリガーされるかについての詳細な説明
  • CocosCreatorでゲームコントローラーを使用する方法
  • CocosCreator Huarongdaoデジタルパズルの詳しい説明
  • CocosCreatorゲームにおける魚群アルゴリズムの詳細な説明
  • CocosCreator最適化DrawCallの詳細な説明
  • cocoscreatorプレハブの詳しい説明
  • Pythonはシンプルなソケット通信のサンプルコードを実装します
  • Python と Websocket を使用してリアルタイム ログ トラッカーを構築する手順
  • Javaはソケットを通じてシンプルな複数人チャットルームを実装する
  • CocosCreator で http と WebSocket を使用する方法

<<:  Dockerボリュームマウントの実装方法

>>:  MySQL 5.5.27 インストール グラフィック チュートリアル

推薦する

Windows Server 2016 に Docker をインストールする方法

最近、Microsoft は Docker をネイティブにサポートする Windows Server...

メンテナンスしやすい CSS コードを書くための 5 つのガイドライン

1. スタイルシートの先頭にコメント ブロックを追加して、スタイルシートの作成日、作成者、タグ、その...

docker-compsoe を使用してフロントエンドとバックエンドを分離したプロジェクトをデプロイする方法

事前に言っておくDocker を使用すると非常にシンプルなデプロイメント環境を実現できることは誰もが...

MySQL における := と = の違いをグラフィカルに紹介

:= と = の違い=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の...

Vue-cliフレームワークはタイマーアプリケーションを実装します

技術的背景このアプリケーションは vue-cli フレームワークを使用し、カスタム コンポーネント ...

HTML の空リンク href="#" と href="javascript:void(0)" の違い

# には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です...

Docker-Composeコマンドの使い方の詳しい説明

Docker コンテナはさまざまな方法で管理およびデプロイできます。 Docker コマンドを直接使...

Tomcat で server.xml と content.xml を変更した後の自動復元の問題の解決方法

設定ファイルを server.xml と content.xml に書き込みます。サーバーを再起動す...

Vue3 (V) HTTPライブラリaxiosの統合の詳細

目次1. axiosをインストールする2. アクシオスの使用1.ホームページでaxiosを参照する2...

Windows の MySQL net start mysql MySQL サービスの起動エラーが発生する システムエラーの解決

目次1- エラーの詳細2-シングルソリューション2.1-ディレクトリ C:\Windows\Syst...

MySQLの一般的なメモリ不足による起動失敗に対する完璧な解決策

1. MySQLが正常に起動しない場合は、エラーログ/var/log/mysql/error.log...

JavaScript プリミティブデータ型シンボルの詳細な説明

目次導入説明名前の競合私有財産要約する導入シンボル変数を作成する最も簡単な方法は、Symbol() ...

MySQL 5.7 でデータベースのデータ保存場所を変更する方法

MySQL データベースに保存されるデータが徐々に増加すると、元のストレージ領域がいっぱいになり、M...

MySQLの基礎知識学習ノート

データベースを表示show databases;データベースを作成するDATABASE データベース...

クリックイメージ反転効果を実現するJavaScript

最近、顔コレクションに関するプロジェクトに取り組んでいましたが、フロントエンドモジュールを書いている...