おはじきゲーム
子供が親の職業を把握していて、 なんかゲーム作ってよ、みたいなことを気軽に言ってくれることもあり、 日曜の午後は一緒に作ろう的な感じでUnityいじってた。
インゲームの遊びとしては、オハジキゲームというか、 スリングショットというとちょっと違うのかな? まあ、モンストみたいな感じ。 コインみたいのを、引っ張って離すと、 飛んで行って、他のオブジェクトを弾いたりするっていう。
公開する予定もないものなので、デザインは躊躇なく拝借。 ここらへん気軽なところ。 子供のために作るゲームって色々気軽で良いっていう気づき。 公開しないでいいので、マネタイズなんて考えないでいいし、 ゲームデザインを拝借してもいいし、 粗があってもいいし、 子供なので喜びのハードルが高くない。 子供駆動開発。
以下、ざっくりやったことのメモ。
プロジェクト生成
2Dで作成。
自キャラのコイン
- 円形の画像を作りSpriteに。今回は子供の写真を使ってやった。
- Circle Coolider2D設定
- Rigidbody2Dを設定。gravityは必要ないのでgravity Scaleを0
- Collision DetectionはContinuous。コリジョン抜け防止。
BG
- 背景画像をSpriteで配置
壁
- Cubeを作成
- BoxCollider2Dを追加
- Physics2DMaterialを作成し、Bouncinessを0.8に。Colliderに設定。
- 複製し、transformを調整して四方に配置。
入力操作
public class Coin : MonoBehaviour { [SerializeField] float m_speedScale = 800.0f; Vector3 m_dragBeginPos; Vector3 m_dragEndPos; void Update () { if( Input.GetMouseButtonDown(0) ) { m_dragBeginPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); } if( Input.GetMouseButtonUp(0) ) { m_dragEndPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); var d = m_dragBeginPos - m_dragEndPos; GetComponent<Rigidbody2D>().AddForce(d * m_speedScale); }
結局、自キャラの操作までだけど、 結構受けがいい感じ。 もうちょっとオブジェクトとか足してみるかも。