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 サービスに基づく]

推薦する

ウェブページ作成における絶対パスと相対パスの違い

1. 絶対パスまず、ローカル コンピューターでは、ファイルの絶対パスは、当然、ハード ディスク上でフ...

分散ロックの原理と3つの実装方法の詳細な説明

現在、ほぼすべての大規模な Web サイトとアプリケーションは分散方式で展開されています。分散シナリ...

Tencent Cloud で HTTPS を無料で導入する方法

最近、WeChatアプレットを書いていたとき、WeChatアプレットではすべてのリクエストインターフ...

VMware 上の CentOS に Oracle12.2 をサイレント インストールする詳細なグラフィック チュートリアル

環境準備: VMware+CentOS、jdk 1. システムディスクのサイズを確認する1. コマン...

ウェブ計算機を実装するためのjs

HTML、CSS、JS を使用してシンプルな Web 計算機を作成する方法は?コンピュータには次の...

独自の Docker イメージを作成して Dockerhub にアップロードする方法

1. まず、自分のdockerhubアカウントを登録します。登録アドレス: https://hub....

DockerはMariaDBのサブライブラリとサブテーブル、および読み書き分離機能を実装します

目次1. はじめに2. 環境整備1. 基本環境3.Mysqlマスタースレーブ構成をインストールする1...

MySQLデータベースは重複データを削除し、メソッドインスタンスを1つだけ保持します

1. 問題の紹介ユーザー テーブルに 3 つのフィールドが含まれているシナリオを想定します。 id、...

Founder フォント ライブラリの中国語と英語のファイル名比較表

Founder Type Library は、Founder Type Library ビジネス チ...

MySQLテーブル名の大文字と小文字を区別しない設定方法の詳細な説明

デフォルトでは、Linux の MySQL はテーブル名の大文字と小文字を区別します。 MySQL ...

CentOS8 で MySQL 8.0 をインストールしてデプロイする方法

MySQL 8 の公式バージョン 8.0.11 がリリースされました。公式発表によると、MySQL ...

MySQLインデックスの作成について知っておくべきこと

目次序文: 1. インデックスメソッドを作成する2. インデックスを作成するために必要な権限序文: ...

Nginx インストール エラーの解決方法

1. nginx-1.8.1.tar.gzを解凍する2. fastdfs-nginx-module-...

フロントエンドフレームワーク Vue における親子コンポーネントデータの双方向バインディングの実装

目次1. 親コンポーネントと子コンポーネント間の一方向の値転送1. 親から子への値の受け渡し2. 子...