ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

プロジェクト14

スプライトエディター

スプライトエディター - Unity マニュアル サンプルのユニティちゃんのスプライトは自分が使うには余白が大きすぎてちょっと扱いにくかったので、スプライトの矩形の大きさを変更することにした。 スプライトの矩形はスプライトエディターで編集できる。スプ…

ライセンス確認

Windows10へバージョンアップしてから、初めてUnityを起動したら、ライセンスが取得できないというエラーが出てちょっと焦った。すぐにその後のダイアログで確認ができ、無事起動できた。プロジェクトファイルもそのまま開くことが出来たし、以前と変わらず…

矢印キーの入力

プレイヤーを移動するために矢印キーを使うことにするのだが、その矢印キーの入力はInput.GetAxisRawで取得することができる。 Input.GetAxisRaw - Unity スクリプトリファレンス Input.GetAxisRaw()の引数は軸名となっており、Horizontalで水平方向、つまり…

画面内をキャラが動く

キャラクターが一定の速度で移動し、画面端で跳ね返るというのを実装。 実際に実装したコードは次の通り。サンプルのuni_0というスプライトなのでクラス名はuniとなっている。 public class uni : MonoBehaviour { public float speed; void Start () { floa…

キャラクターの移動

キャラクターのオブジェクトにはRigidbody2Dのコンポーネントを追加したので、速度を与えれば移動させることができる。 速度の与え方は次の通り。 Vector2 v = new Vector2(1.0f, 1.0f); GetComponent<Rigidbody2D>().velocity = v; オブジェクトに追加されているコンポー</rigidbody2d>…

画面端のワールド座標を求める

カメラに映っている画面端のワールド座標はカメラのViewportToWorldPointで求めることができる。 Camera.ViewportToWorldPoint - Unity スクリプトリファレンス カメラの左下は(0,0)、右上は(1,1)となっており、この関数でワールド空間の座標へと変換できる…

座標移動

スプライトの位置はtransform.positionの値を変更することによって設定できる。 ここで注意しなくてはいけないのはC#のスクリプトだと直接値を変更することはできず、一時変数に一旦コピーしてからでないと値が反映されない。 Vector2 position = transform.…

Sorting Layer

Tags & Layers - Unity マニュアル 昨日は描画順に悩んだが、スプライトにはSorting Layerという機能があり、レイヤーごとに分けて描画順を制御することができる。 InspectorのSprite RendererにSorting Layerがあり、プルダウンメニューのAdd Sorting Layer…

スプライトの描画順

Unityを起動してプロジェクトファイルを読み込んでエディタを起動させてみると、昨日追加したはずのキャラクターが表示されていない。ヒエラルキービューには登録されているのだがグラフィックが出てこない。 調べてみたら、背景オブジェクトのPositionのZ値…

キャラクターの追加

今度はAssets/UnityChan2D/Demo/Sprites/uni_0をシーンへドラッグアンドドロップしてオブジェクトを登録。 InspectorのAdd Componentボタンを押してPhysics 2DのRigidbody 2Dを選択。 今回は重力はいらないので、Gravity Scaleに0を設定。 次にC# Scriptを作…

背景の表示

Unityでプロジェクトを作成して、背景を表示するところまでを実装。 アセットはユニティちゃんの2Dデータをインポートして使った。 AssetsにUnityChan2Dフォルダが出来ているので、そのなかのDemo/SpriteにあるBG_01を利用。これをシーンへドラッグアンドド…

2Dゲーム作成開始

新たにUnityを使ってシンプルな2Dのゲームを制作開始。 今回の目的はゲームのアイデアを試すことよりも、タイトル画面からゲームオーバーまで一連のゲームの流れを実装して完成させるというのが目的。 なので、ゲーム自体はシンプルなものにして、素材もすで…