CocosCreator でカメラトラッキングに cc.follow を使用する方法

CocosCreator でカメラトラッキングに cc.follow を使用する方法

Cocos Creator バージョン: 2.3.4

デモのダウンロード: https://files-cdn.cnblogs.com/files/gamedaybyday/cocos2.3.4_ccfollow.7z

まず、cocoscreator に付属するフォロー コード cc.follow を使用しましょう。

CC.Followの使用

1. マップアダプタコンテナのleftNodeを設定する

これは水平パルクールゲームだとしましょう。マップのサイズは 1500x1500 なので、leftNode の高さと幅は 1500x1500 になり、ウィジェットは左下に配置されます。

2. マップコンテナマップを設定する

マップコンテナも 1500x1500 です。leftNode との違いは、アダプタコンポーネントウィジェットがないことです。ウィジェットを使用すると、マップを移動することはできません。このため、画面に適応するために leftNode の追加レイヤーが使用されます。

マップには役割があります。 (通常のcc.Buttonボタン)

地図の端を識別するために、地図の周囲に赤いボタンがあります。

Follow.ts コンポーネントをマップ コンテナーに追加し、ターゲット ロールを Role に設定します。ロールはボタン cc.Button であり、ここでは移動ロールとして扱います。

Follow.ts のコードは次のとおりです。

const {ccclass、プロパティ} = cc._decorator;
 
@ccクラス
デフォルトクラスFollowをエクスポートし、cc.Componentを拡張します。
 
    @property(cc.Node)
    ターゲット:cc.Node = null;
 
    始める () {
        var follow = cc.follow(this.target, cc.rect(0,0, 1500,1500));
        this.node.runAction(フォロー);
    }
}

3. 仮想ジョイスティックでキャラクターの動きをコントロール

仮想ジョイスティックリファレンス: https://www.cnblogs.com/gamedaybyday/p/13061387.html

知らなくても問題ありません。他の方法でキャラクターの動きを制御し、キャラクターの x と y を変更できれば問題ありません。

4. 実際の実証効果

キャラクターが移動すると、「カメラ」が自動的にキャラクターを追い、赤いボタンが配置されている境界を超えない 1500 x 1500 の範囲に制限されていることがわかります。

CC.Followのソースコード

ソースコードはCC.Action.jsにあります

上記は、CocosCreator でカメラ フォローに cc.follow を使用する方法の詳細です。CocosCreator でのカメラ フォローの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Unity3Dはカメラレンズの動きを実現し、角度を制限する
  • CocosCreatorで複数のタイマーを使用する方法の詳細な説明
  • CocosCreator 学習モジュールスクリプト
  • CocosCreator で物理エンジン ジョイントを使用する方法
  • CocosCreatorでJSZip圧縮を使用する方法
  • CocosCreator 入門チュートリアル: TS で初めてのゲームを作る
  • CocosCreator ソースコードの解釈: エンジンの起動とメインループ
  • CocosCreator 一般的なフレームワーク設計リソース管理
  • CocosCreatorでリストを作成する方法
  • CocosCreator で http と WebSocket を使用する方法
  • CocosCreator の新しいリソース管理システムの分析

<<:  SQL 文における複合主キーと結合主キーに関する予備的研究

>>:  Centos 7.4 サーバーの時刻同期設定方法 [NTP サービスに基づく]

推薦する

HTML フローティング フレーム (iframe 読み込み HTML) の設定と使用の例

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

Dockerモードで起動したTomcatのホームページにアクセスすると404エラーが発生する

シナリオ: docker で tomcat を起動すると (Alibaba Cloud からダウンロ...

シェルスクリプトを使用して CentOS7 に python3.8 環境をインストールする (推奨)

ワンクリック実行仮想マシンに Python 3.8 をインストールするには、ネットワーク アダプター...

thead、tfoot、tbodyを使用して表を作成します

これらの 3 つのタグを間違った方法で使用して、タイトルを表に沿わせたり、tbody の高さを固定し...

シェルスクリプトは、Docker の半自動コンパイル、パッケージ化、およびリリースアプリケーション操作を構築します。

Docker 公開方法は、DevOps (送信、コンパイル、パッケージ化、リリースなどの一連のイベ...

WeChatアプレットリクエストの前処理方法の詳細な説明

質問一部のページでは、onload でデータを要求してからビューをレンダリングするため、ミニプログラ...

Linux のバックグラウンドで実行するいくつかの方法 (まとめ)

1. ノーフープハングアップ信号を無視してプログラムを実行する追加メモnohup コマンドは、ハン...

MySQL パーティションテーブルの正しい使用方法

MySQL パーティションテーブルの概要数億、あるいは数十億ものレコードを格納するテーブルに遭遇する...

純粋なCSSでデジタルプラスとマイナスボタンを実装するための最適なソリューション

序文:デジタル加算ボタンと減算ボタンの実装には、次のような多くのソリューションがこれまでに使用されて...

MySQL ピボットテーブルについての簡単な説明

次のような製品部品表があります。一部 部品ID 部品タイプ 製品ID ---------------...

HTML コードを書くための 30 のヒント

1. HTMLタグは常に閉じる前のページのソース コードでは、次のような記述がよく見られます。 &l...

Linux ファイルディレクトリ管理コマンドの概要

タッチコマンドこれには 2 つの機能があります。1 つは、既存のファイルの時間タグを現在のシステム時...

テーブルタグ(TAGS)の詳細な紹介

テーブルの基本構文<table>...</table> - テーブルを定義し...

MySQL 5.7.17 でパスワードを忘れた場合の対処方法

1. my.iniファイルにskip-grant-tablesを追加し、MySQLサーバーを再起動し...

Centos7 に PHP と Nginx をインストールする詳細なチュートリアル

Centos のサーバー側への適用がますます普及するにつれて、Centos7 もますます使用されるよ...