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; //ボタンを無効にする} } コードの各行に詳細なコメントを記述しました。 書いたスクリプトをスキルボタンに掛けてノードをバインドする 必要に応じて変更可能
コードを書くだけでは十分ではありません。スキル ボタンの設定もいくつか行う必要があります。スプライト コンポーネントを変更し、スキル ボタンにボタン コンポーネントを追加する必要があります。 写真に合わせて調整してください
最後に、スキルボタンにボタンコンポーネントを追加します。 バインドされたイベントは onbtn です。見栄えを良くするには、ボタン コンポーネントの Transition を COLOR に変更します。 完了です。[実行] をクリックして確認してください。 本当に良い スキルボタンをクリックしたら、onbtn にコードを入力するだけです。 ここに入れてください 例えば、スキルボタンを押すと特殊効果アニメーションを再生することができます 上記は、CocosCreator がスキル冷却効果を実装する方法の詳細です。CocosCreator スキル冷却の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
>>: MySQL 5.5.27 インストール グラフィック チュートリアル
目次背景探検する要約する背景テーブルでは、dataTime フィールドは varchar 型に設定さ...
序文MySQL の InnoDB エンジンがインデックスの保存に B+tree を使用する理由は、デ...
CSS (カスケーディング スタイル シート) は、HTML Web ページを美しくするために使用さ...
1. イメージをプルするdocker pull レジストリ.cn-hangzhou.aliyuncs...
コアはmysqldumpとランタイムです操作は実際にはそれほど難しくありません。バックアップ操作を実...
MySQL を初めて学ぶときは、区切り文字の本当の目的を理解していないかもしれません。区切り文字は、...
デフォルトでは、MyISAM テーブルはディスク上に .frm (テーブル構造ファイル)、.MYD ...
1. 日付のサイズを比較するには、XML に渡される日付形式は 'yyyy-MM-dd...
Web ページやフォームを設計するたびに、さまざまなブラウザ、特に IE ファミリの互換性の問題に悩...
1. 遅いクエリログ1.1 MySQL ログの種類ログは、データベースの操作や、ユーザーがデータベー...
さっそくコードを見てみましょう * { マージン: 0; パディング: 0; } 。容器 { マージ...
目次1. 背景2. 前提条件https:証明書システム: 3. 操作プロセス3.1 証明書の生成3....
序文フェイルオーバーが発生した後、よくある問題は同期エラーです。データベースが小さい場合は、ダンプし...
サイト全体のフォントを設定することは、常にシンプルでありながら難しい作業です。深く掘り下げていくと、...
1. Centos7.6システムを作成し、システムを最適化する1. NetworkManagerをオ...