Unity Introduction from 2D shooting game.
-
Upload
daisuke-yamashita -
Category
Software
-
view
697 -
download
7
Transcript of Unity Introduction from 2D shooting game.
自己紹介・山下大輔(やました だいすけ) ・2015年1月よりビズリーチのiOSエンジニア ・@daisuke0131 ・http://www.facebook.com/daisuke0131 ・https://github.com/daisuke0131
https://itunes.apple.com/jp/app/haikurasu-ren-cainokyaria/id972002786?mt=8
Unity
・統合開発環境を内蔵したゲームエンジン ・3D/2Dゲームが簡単に作れる ・マルチプラットフォーム
->iOS、Android、Windows、OS X、Linux、ウェブブラウザ、Flash、PlayStation 3、Xbox 360、Wii U
・c#/javascript/booに対応
その他のゲームエンジン(iOS)
・cocos2d-x ->c++で開発、マルチプラットフォーム(iOS、Android、Windows、Marmalade、Linux、Bada、BlackBerry 10)などに対応
・SpriteKit ->apple純正で、UIViewとの相性がよい。
http://d-cube.connpass.com/event/16738/
このゲームを作る上で主に理解したいこと。
・Unityの基本的な操作方法
・Spriteの作成方法 ->画像からゲームオブジェクトを作成
・スクリプト(c#で記述)の使い方
・物理法則の適用について -> Rigidbodyの使い方
・オブジェクト同士の衝突 ->Colliderの使い方
今回のプロジェクト置き場プロジェクト全部 ・https://github.com/daisuke0131/Shooting
・画像、スクリプトは https://github.com/daisuke0131/Shooting/blob/master/resources.zip に置いてあります。
ハンズオンは画像、スクリプトを起点にはじめます。 resource.zipをダウンロードしてください。
時間内にたぶん全部作り切るのは無理そうなので、 先ほどの主要機能をメインに説明します。
Scene
Game
Hierarchy Project Inspector
・Scene オブジェクトを操作して実際にゲーム画面を作っていくところ。 ・Game 再生した時の実際の画面が表示されるところ。 ・Hierarchy 配置したゲームオブジェクトの階層構造が表示される。 ・Project ゲーム部品(オブジェクト)置き場。ゲームオブジェクト、画像、アニメーション、音声など。 ・Inspector ゲームオブジェクトの詳細設定をする画面
Unityの画面について
スクリプトを書きます
void Update () { float x = Input.GetAxisRaw ("Horizontal"); float y = Input.GetAxisRaw ("Vertical"); Vector2 direction = new Vector2 (x, y).normalized; Vector2 pos = transform.position; pos += direction * Time.deltaTime; transform.position = pos; }
Update()はframe更新毎に呼ばれる。
弾丸の生成
・弾丸のプレハブ化までは手順同じなので省略します。
public GameObject bullet;
IEnumerator Start () { while (true) { Vector2 pos = new Vector2(transform.position.x,transform.position.y + 0.1f); Instantiate(bullet,pos, transform.rotation); yield return new WaitForSeconds(0.05f); } }
コルーチンについては以下も参照 http://wonderpla.net/blog/engineer/Unity_Co-routine/
・Player.csのStart()を以下のように修正します。
<-プレハブ突っ込む用の宣言
Unityのブロックしないで処理する仕組み(コルーチン)
Collider2Dをつかう。
・敵のColliderでIs Triggerをチェックして以下のスクリプトを追加して ください。
・敵のスプライトも追加して同様にColliderを追加してください。
void OnTriggerEnter2D (Collider2D c) { Destroy (c.gameObject); }
次回の祭り会場のご案内
夏のUnityハンズオン祭り~Flappy Birdもどきを作ろう~ http://d-cube.connpass.com/event/19129/