「30分で作ろう」シリーズ(4) 対戦タイムアタック

2. 追従カメラを設定しよう

説明

  • ゴーカート1を後ろから追尾するカメラを作成します。

使用する変数

  • ゲームステータス  ゲーム進行の状態を管理します
  • Car1_ミリ秒  タイムのミリ秒値を格納します
  • Car1_秒  タイムの秒値を格納します
  • Car1_分  タイムの分値を格納します
  • Car1_Lap数  ラップ数を格納します
  • Car1_Lapタイム  ラップタイムを格納します
  • CP1-1  チェックポイント1の通過の有無を格納します
  • CP2-1  チェックポイント2の通過の有無を格納します
  • CP3-1  チェックポイント3の通過の有無を格納します
  • カメラ1のX座標  カメラ1のX座標を格納します(追加)
  • カメラ1のZ座標  カメラ1のZ座標を格納します(追加)

使用するオブジェクト

  • カメラ
  • サーキット1
  • ゴーカート1
  • ゴーカート2(追加)
  • プログラム
  • Car1_タイム表示
  • スタートボタン
  • カウントダウン表示
  • Go
  • Car1_ラップタイム
  • チェックポイント1
  • チェックポイント2
  • チェックポイント3

作成手順

変数を追加

変数設定を開き、変数:「カメラ1のX座標」、「カメラ1のZ座標」を追加します。

変数設定

プログラムを追加

カメラオブジェクトを選択して、プログラムエディタに切り替えます。

プログラムエディタ

下記のようにブロックを配置しましょう。

■ブロックの説明
ゴーカート1を中心とした半径5の円周上、かつ真後ろの高さ4の位置にカメラを設置。そして、常にゴーカート1にカメラを向けているようにプログラムします。

計算式

  • カメラ(X座標) = ゴーカート1(X座標) + sin(ゴーカート1(Y座標)) ×-5
  • カメラ(Y座標) = ゴーカート1(Y座標) + 4
  • カメラ(Z座標) = ゴーカート1(Z座標) + cos(ゴーカート1(Y座標)) ×-5
  • カメラ(X角度) = 15°
  • カメラ(Y角度) = ゴーカート1(Y角度)Z
  • カメラ(Z角度) = 0

これらの値をカメラの座標、角度に代入します。

動かしてみよう

キーボードで操作すると、ゴーカート1の後ろからカメラが付いてくることを確認しましょう。
しかし、ゴーカート2はカメラに追従されない状態になります。
次は、画面を分割してゴーカート2も使えるようにカメラを設定しましょう。