非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Unityでゲームづくりに挑戦(2)敵キャラに動きを付ける

   

Unityでゲームづくりに挑戦第二段です。

今回は敵キャラを追加して動きを付けました。完成した動きは以下の動画のとおりです。Sinカーブを描きながら迫ってきます。

 

敵キャラの設置方法とスクリプトの生成と関連付けは前回の記事を参考に。ちなみに味方キャラとの衝突を想定して物理衝突(Box Collider 2D)を付与しています。

 

スクリプトは以下の通りとなります。Update()メソッド内に「//以下を追加」以下のコードを追加します。

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnemyScript : MonoBehaviour
{
  // Start is called before the first frame update
  void Start()
  {

  }

  // Update is called once per frame
  void Update()
  {
    //以下を追加
    //キャラクターの座標を取得
    Vector2 pos = this.transform.position;
    //時刻データを取得
    float t = Time.realtimeSinceStartup;
    //Y座標位置をSin(t)から算出
    pos.y = Mathf.Sin(t*5)*3+0.25f;
    //X座標位置を少しずつ左方向に
    pos.x+=-0.1f;
    //キャラクターの座標位置更新
    this.transform.position = pos;
  }
}
 

 

Y座標はSin(t)で算出します。X座標を少しずつ変えることでSinカーブを描くようになるわけですね。

Unityの使い方がだんだんわかってきました。

 

スポンサーリンク

 - Unity