[Cocos2d-x]タップ時に出るエラー

画面をタップした時に、うまくタップ状態が取れずに

if the index doesn't exist, it is an error
touchesMoved: size = 0

や、

if the index doesn't exist, it is an error
touchesEnded or touchesCancel: size = 0

等のエラーが出ることがあり、しばらく悩んでしまいました。

結果的にいえば、単純にビューポート外の所をタップ(Windows版だったのでクリック)した時に出ているだけでした。
例えばウィンドウは横長で、実際の有効ビューポートは縦長になってる場合、両端が使われていない領域が出ると思いますが、そこをタップすると上記のエラーが出ます。

ちょうどタップ関連の処理を作っている時に遭遇してしまったので、何かまずい作りをしていたのかと焦りました。
ウィンドウとビューポートをちゃんとあわせておけということですね。

[UE4]AActor::Tick()を使用する際の設定メモ

AActorを継承したクラスで、Tick()を使用する際の設定メモです。
コンストラクタで以下のようにしてあげるとTick()が毎フレ呼ばれるようになります。

AHoge::AHoge(const class FPostConstructInitializeProperties& PCIP)
	: Super(PCIP)
{
	// Tickを毎フレ呼び出せるようにする
	PrimaryActorTick.bCanEverTick = true;
	// Tickグループの設定(デフォルトはTG_PrePhysicsです)
	PrimaryActorTick.TickGroup = TG_PrePhysics;
}

void AHoge::Tick( float DeltaSeconds )
{
	Super::Tick( DeltaSeconds );
}