2014年05月02日

戦車ゲームが作りたい... 5

 続きです。

 今日は、敵戦車が攻撃してくるようにしてみたいと思います。

<頭部の回転スクリプト>
 TankHeadにくっつけました。

using UnityEngine;
using System.Collections;

public class EnemyHeadController : MonoBehaviour {
  public Transform hyouteki; //標的
  public float kaitenSokudo; //頭回転速度

  void Update () {
    //回転
    Vector3 soutaiKakudo =  hyouteki.position - transform.position;
    Quaternion kaiten = Quaternion.LookRotation(soutaiKakudo);
    transform.rotation = Quaternion.Slerp(transform.rotation, kaiten, kaitenSokudo * Time.deltaTime);
  }
}

<弾発射スクリプト>
 Barrelにくっつけました。発射間隔を調整できるようにしました。

using UnityEngine;
using System.Collections;

public class EnemyHasshaController : MonoBehaviour {
  public Rigidbody shot; //弾Prefab
  public Transform shotSpawn; //弾発生ポイント
  public float shotPower; //弾の勢い
  private float hasshaTime; //経過時間
  public float hasshaKankaku; //発射間隔

  void Start ()
  {
    hasshaTime = 0.0f;
  }
  void Update () {
    //発射時間調整
    hasshaTime += Time.deltaTime;
    //弾丸発射
    if (hasshaTime>hasshaKankaku)
    {
      Rigidbody dangan = Instantiate(shot, shotSpawn.position, shotSpawn.rotation) as Rigidbody;
      dangan.rigidbody.AddForce(shotSpawn.forward * shotPower);
      hasshaTime = 0.0f;
    }
  }
}

<プレイしてみると...>
 1対1の戦いです。
1sennshataisen.jpg

<戦車ゲームの元ができました>
 リアルからはほど遠いですが、何とか戦車ゲームっぽくなりました。
 本当は弾道計算して、砲身の角度を変えられるようにすればいいのでしょうが、何だか難しい数式なので諦めました。
 戦車の頭の部分も車体に対して平行に回転しないといけないのですが、どうやっていいか分かりません。
 もっと勉強して、いつか実現してみたいなぁと思っています。

<ゲーム風に...>
 今回練習したことなどを使って、ゲーム風にして遊んでみました。題して、


 矢印キーで移動回転、スペースバーで弾丸発射、rとfキーで砲身の上下です。敵戦車を全部外に放り出せば勝利です。

 とりあえず、「戦車ゲームが作りたい...」シリーズこれで終了にします。
-----------------
 <ご注意>私自身が全くの超初心者ですので、文中まちがいがあるかも知れません。その際はご容赦をお願いします。<(_ _)>
posted by Shindo Izo at 18:38| Comment(2) | Unity3Dの練習 Part II | 更新情報をチェックする

2014年05月21日

Unity マイプロダクト no.5

宇宙シューティングゲーム

 Space Sweeper

を作ってみました。
 お暇な方がいらっしゃったら、こちらのサイトからどうぞ。

-----------------
posted by Shindo Izo at 16:50| Comment(2) | Unity マイプロジェクト | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。