Unity

unityでシューティングゲームっぽい何かを作る

unityでシューティングゲームっぽい何かを作ります。
まだまだ練習段階です。

とりあえず

①プレイヤーを動かす
②複数の敵の弾をランダムに動かす
③弾とプレイヤーの当たり判定を組み込む

この3つをやりたいと思います。

1.新しいプロジェクトを2Dで作成。

2.縦画面のシューティングにするのでSceneの隣のGameをクリックして
ゲームビューに切り替え、左上の画面設定でiPhone5 Tallを選択。
画面が縦画面になる。

3.使用する素材画像をプロジェクトビューにドラッグ&ドロップ。

4.自機ship1と背景画像bg1をシーンビューにD&D。

5.背景が一番奥、その次に自機が表示されるようにレイヤーを調整する。
インスペクタパネルのorder in Layerを1にする。
背景は0にする。

6.とりあえず一回実行してみる

こんな感じ

7.自機を動かすスクリプトを作る。
プロジェクトビューのcreate→C#script

名前をshipmoveにする。

8.自機を動かす処理を書き込んでいく。
////////////////////////////////
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class shipmove : MonoBehaviour {

float sx = 0; //x方向移動量を入れる変数
float sy = 0; //y方向移動量を入れる変数

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

//左移動
if (Input.GetKeyDown (KeyCode.LeftArrow)) { //もし左キーが押されたら
this.sx = -0.1f; //移動量-0.1をセット。語尾にfを忘れると怒られる。
transform.Translate (this.sx, 0, 0); //移動させる処理
}

//右移動
if (Input.GetKeyDown (KeyCode.RightArrow)) {
this.sx = 0.1f;
transform.Translate (this.sx, 0, 0);
}

//上移動
if (Input.GetKeyDown (KeyCode.UpArrow)) {
this.sy = 0.1f;
transform.Translate (0, this.sy, 0);
}

//下移動
if (Input.GetKeyDown (KeyCode.DownArrow)) {
this.sy = -0.1f;
transform.Translate (0, this.sy, 0);
}

}
}
////////////////////////////////

実行してみると自機は動くけど一回押しただけでは1回動くだけで
押しっぱなしを検知していない模様。
あとthis.sy = -0.1f;の語尾のfを忘れるとエラーになるよ。

押しっぱなしを検知するにはInput.GetKeyDownではなく
Input.GetKeyを使うとうまくいった^^v

----------------------------------------
ー広告ー



-Unity

© 2024 Bou.O The World Powered by AFFINGER5