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 インストール グラフィック チュートリアル

推薦する

テキストの円形スクロールアニメーションを実装するミニプログラム

この記事では、参考までに、テキストループスクロールを実現するアプレットの具体的なコードを例を挙げて紹...

プロジェクトにaxiosをカプセル化する実際のプロセス

目次序文axiosカプセル化の利点パッケージのアイデア設定の優先順位axiosインスタンス構成1. ...

CentOS7 で Jenkins+Maven+Git 継続的インテグレーション環境を構築する方法

この記事では、Spring boot + Maven プロジェクトのデプロイメントを例に、Code ...

Ubuntu 20.04にvncserverをインストールする方法

Ubuntu 20.04は2020年4月に正式にリリースされました。本日、ミラーシステムを正式にイン...

HTMLページでチェックボックスを操作する方法

チェックボックスは Web ページで非常によく使用されます。e コマースの Web サイトでもプラッ...

JavaScriptの厳密モードが8進数をサポートしていない問題の説明

JavaScript厳密モードが 8 進数をサポートしていないという問題に関して、まず、 Java...

HTMLタグのフルネームと機能の紹介

アルファベット順DTD: このタグが許可される XHTML 1.0 DTD を示します。 S=厳密、...

Win10 の組み込み Linux システムを使用して Spring Boot プロジェクトを開始する方法

1. Windows10の組み込みLinuxサブシステムをインストールする1.1. Linuxサブシ...

スライディングカルーセル効果を実現する js

この記事では、スライディングカルーセル効果を実現するためのjsの具体的なコードを参考までに共有します...

CentOS7 から CentOS8 にアップグレードする方法 (詳細な手順)

この記事では、具体的な例を使用して、CentOS 7 から CentOS 8 にアップグレードする方...

Docker で Kong API Gateway をインストールして使用する詳細なチュートリアル

1 はじめにKong は単純な製品ではありません。この記事で言及されている Kong は主に Kon...

マウスオーバーボタンアニメーションを実現する純粋な CSS3 パート 2

前の 2 つの章を終えて、ボタンのフローティング アニメーションについて新たな理解が得られましたか?...

Docker で PostgreSQL を実行し、いくつかの接続ツールを推奨する

1 はじめに PostgreSQL は、非常に充実した機能を備えたフリーソフトウェアのオブジェクトリ...

MySQL (8 および 5.7) の Docker インストール

この記事では、Dockerを使用してMySQLデータベースとリモートアクセス構成をデプロイする方法を...

Linux でファイル権限を変更する chmod コマンドの詳細な分析

Linux chmodコマンドを使用して、ターゲット ファイルにアクセス、読み取り、書き込み、または...