Unityゲーム開発スタジオ スタジオしまづ

初心者向けUnity講座・ 統計・機械学習関係についてつらつらと

初心者のためのUnity講座! サイドビューアクションゲームでキャラクターを方向キーで移動させるのは、こんな感じになりますよねの巻

前回5分でステージを作成する方法を紹介しました。

simanezumi1989.hatenablog.com

今回はキャラクターを移動させる方法を紹介します。

youtu.be (役に立ったという方はチャンネル登録していただけると嬉しいです^^)

ざーっと紹介していますけどコードは以下のようになります。 初心者の方にはちと辛いですが、rigidbodyというキャラクターに物理演算を持たせるものの変数をいじって移動させています。

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

public class PlayerMovement : MonoBehaviour
{

    Rigidbody2D rigidbody2D;
    float speed;
    public enum MOVE_DIRECTION
    {
        STOP,
        LEFT,
        RIGHT,
    }
    MOVE_DIRECTION moveDirection = MOVE_DIRECTION.STOP;

    void Start()
    {
        rigidbody2D = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        float x = Input.GetAxis("Horizontal");
        if (x==0)
        {
            // 止まる
            moveDirection = MOVE_DIRECTION.STOP;
        }
        else if (x>0)
        {
            // 右に移動
            moveDirection = MOVE_DIRECTION.RIGHT;
        }
        else if (x < 0)
        {
            // 左に移動
            moveDirection = MOVE_DIRECTION.LEFT;
        }
    }
    private void FixedUpdate()
    {
        switch (moveDirection)
        {
            case MOVE_DIRECTION.STOP:
                speed=0;
                break;
            case MOVE_DIRECTION.LEFT:
                speed= -3;
                break;
            case MOVE_DIRECTION.RIGHT:
                speed= 3;
                break;
        }
        rigidbody2D.velocity = new Vector2(speed, rigidbody2D.velocity.y);
    }
}

スタジオしまづから

ゲームをリリースしたい人向けのUnity講座を動画販売しています。c#の基礎からリリースまで体系的に学びたい方はぜひ。

https://www.udemy.com/studio_shimazu_nfrpg/?couponCode=FREE_FIRST

 

また、一人でゲームを作るのは難しいという方はゲームリリースを目的とするオンラインサロンもやっているのでよければどうぞ!話だけでもという方はTwitterのDMだけでもOKです^^ camp-fire.jp