Unity入門(1) スワイプ(ドラッグ)でオブジェクトを操作する

2017-11-22 @niketcha

Unity初心者の方向けに、簡単なゲームを作りながら学べる入門シリーズです。

第1弾の今回は、プレイヤーがスワイプで操作するキャラクターを配置します。

Sponsored Link

スワイプして操作できるキャラを配置しよう

プロジェクトを作成する

Unityを開いてProject nameに任意の名前を入れ、2Dを選択してCreate projectを選択します。

キャラクターを配置する

キャラクターの画像を準備する

フリー素材のサイトから好きな画像をダウンロードします。

私はぴよたそさんからお借りしました。

キャラクターをSceneに追加する

キャラクターの画像をドラッグしてSceneへドロップします。

キャラクターを動かせるようにする

スクリプトファイルを作成する

Assetsのところで右クリックし、「Create」-「C# Script」を選びます。

スクリプトファイルに任意の名前を付けます。

スクリプトにコードを書く

作成したスクリプトファイルをダブルクリックで開き、下記のコードを書きます。クラス名だけ書き換えてくださいね。

using System.Collections;
using UnityEngine;

public class CatController : MonoBehaviour {

    private Vector3 playerPos;
    private Vector3 mousePos;

    void Update()
    {
        playerControl();
    }

    private void playerControl()
    {

        if (Input.GetMouseButtonDown(0))
        {
            playerPos = this.transform.position;
            mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        }

        if (Input.GetMouseButton(0))
        {

            Vector3 prePos = this.transform.position;
            Vector3 diff = Camera.main.ScreenToWorldPoint(Input.mousePosition) - mousePos;

            //タッチ対応デバイス向け、1本目の指にのみ反応
            if (Input.touchSupported)
            {
                diff = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position) - mousePos;
            }

            diff.z = 0.0f;
            this.transform.position = playerPos + diff;

        }

        if (Input.GetMouseButtonUp(0))
        {
            playerPos = Vector3.zero;
            mousePos = Vector3.zero;
        }
    }
}

このスクリプトは、画面内の任意の場所をスワイプするとキャラが相対的に動くというものです。

引用元:https://qiita.com/Nicky/items/d5fa514243cb65a5d4d4

スマホの場合キャラが指で隠れてしまうと操作しづらいので、どこをタップしても反応するように実装してあります。

Input.mousePositionはマウスにもスワイプにも対応してるので、パソコンでも実機でも動作確認できます。

スクリプトをキャラに紐づける

作成したスクリプトファイルをドラッグしてキャラにドロップする

実行する

実行ボタンをクリックするとGameビューで動作確認できます。

画面をマウスでドラッグしてみてください。キャラが動きますよ~。

次の記事:Translateでオブジェクトを動かす

-アプリ開発, Unity

コメントを残す

お名前もメールも入力は任意です。お気軽に指摘や質問などしていただけると嬉しいです。

Gravatarに登録すると、お好きな画像をアバターに設定できます。

Copyright© ニケッチャニッキ , 2017-2018 All Rights Reserved.