Cocos Creatorの基本(2つ)

ディレクタータイプ

cc.directorは、ゲームのロジックフローを管理するシングルトンオブジェクトです。
cc.directorはシングルトンであるため、コンストラクターを呼び出したり、関数を作成したりする必要はありません。
これを使用する標準的な方法は、次のように呼び出すことです。
-cc.director.methodName();
メインウィンドウを作成および処理し、タイミングを管理します。シーンが実行されます。

スケジューラタイプ

スケジューラは、コールバック関数のトリガーを担当するクラスです。
通常、システムタイマーを取得するには、cc.director.getScheduler()を使用することをお勧めします。
タイマーには2つの異なるタイプがあります。

- update 定时器:每一帧都会触发。您可以自定义优先级。<br/>
- 自定义定时器:自定义定时器可以每一帧或者自定义的时间间隔触发。<br/>

スケジュール

コールバック関数を指定し、オブジェクトおよびその他の情報を呼び出して、新しいタイマーを追加します。
一時停止値がtrueの場合、resumeが呼び出されるまでタイミングは開始されません。
時間間隔が指定された値に達すると、setコールバック関数が呼び出されます。
間隔値が0の場合、コールバック関数はフレームごとに呼び出されますが、その場合は、代わりにscheduleUpdateForTargetを使用することをお勧めします。
コールバック関数がすでにタイマーによって使用されている場合、前のタイマーの時間間隔パラメーターのみが更新され、新しいタイマーは設定されません。
繰り返し値を使用すると、タイマートリガーを+ 1回繰り返し、cc.macro.REPEAT_FOREVERを使用してタイマートリガーをループで作成できます。
遅延値は遅延時間を指定し、タイマーは指定された時間遅延の後に計時を開始します。

BlockInputEventsコンポーネントリファレンス

BlockInputEventsコンポーネントは、それが属するノードのバウンディングボックス内のすべての入力イベント(マウスとタッチ)をインターセプトして、入力が下位ノードに浸透するのを防ぎます。これは通常、上位UIの背景として使用されます。

ノードのアクティブ化/非アクティブ化

ノードはデフォルトで有効になっています。ノードのactiveプロパティを設定することで、コードでアクティブ状態を設定できます。

this.node.active = false;

active属性を設定し、エディターでアクティブノードを切り替えると、閉じた状態になりますが、効果は同じです。ノードがダウンすると、そのすべてのコンポーネントが無効になります。同時に、そのすべての子ノードと子ノード上のコンポーネントも無効になります。子ノードが無効になっていて、そのactiveプロパティが変更されない場合、親ノードが再びアクティブになると、元の状態に戻ることに注意してください

つまり、activeノード自体がアクティブであり、このノードが現在アクティブにできるかどうかは、その親によって異なります。また、現在のシーンにない場合はアクティブにできません。ノードの読み取り専用属性を使用して、ノードactiveInHierarchyが現在アクティブであるかどうかを判断できます

this.node.active = true;

ノードが元のアクティブ化可能な状態にある場合、変更activeがtrueの場合、すぐにアクティブ化がトリガーされます。

  • シーンでアクティブがtrueであるノードとノードの下のすべての子ノードを再アクティブ化します
  • ノードはすべてのコンポーネント上にあり、すべての子ノードが有効になります。これらはupdate、メソッドが各フレームを実行した後です。
  • これらのコンポーネントonEnableに実行されるメソッドがある場合

this.node.active = false;

ノードが最初にアクティブ化されていた場合、activefalseに変更すると、すぐにシャットダウンがトリガーれます。

  • このノードと、シーン内のノードの下にあるすべての子ノードを非表示にします
  • すべてのコンポーネントのノードとすべての子ノードが無効になっています。つまり、これらのコンポーネントupdateコードを実行していません。
  • これらのコンポーネントonDisableに実行されるメソッドがある場合

 

おすすめ

転載: blog.csdn.net/sun124608666/article/details/104615992