Game Builder で CARD の CODE を編集するときのログ出力

Debug Action CARD

f:id:dany1468:20190710065039p:plain

とりあえず CARD だけで LOGIC を作っているときにログを出したいときに使う CARD です。 これは Actor が Flush もしますがログメッセージも出します。

実装はとても単純な Action の実装になっています。 ログも二つ出しているだけです。

export function onResetGame() {

}

/**
 * @param {GActionMessage} actionMessage
 */
export function onAction(actionMessage) {
  log(`Action message received`);
  log(actionMessage);
}

ログの確認

~ を押すことで有効になります。赤枠で囲っている部分が Debug Action の表示結果です。 Collision Event に対する Player の Action の場合です。

f:id:dany1468:20190710065437p:plain

actionMessage の表示

場合によるとは思いますが、上記の場合は actionMessage のログが空で表示されています。 log はオブジェクトをプリントできないらしいので、以下のように Debug Action を編集します。

export function onAction(actionMessage) {
  log(`Action message received`);
-  log(actionMessage);
+  log(JSON.stringify(actionMessage));
}

こうすることで以下のような出力を得ることができます。

f:id:dany1468:20190710065935p:plain

CARD の CODE でのログ出力

はい、Debug Action と同じようにできます。 log を使い確認するだけです。また、オブジェクトの場合は (現状) JSON.stringify することでプリントできます。 ログ Viewer で空の表示なったからと焦らず JSON.stringify してみましょう。

Appendix

Game Builder のログ

C:\Users\<user>\AppData\LocalLow\Area 120\Game Builder\output_log.txt にあります。