【Unity】ある位置を超えたときにオブジェクトが反対から出てくるようにする【シューティングゲーム・位置制限で使える】

Unityである位置を超えたときにオブジェクトが反対から出てくるようにする

↑Unityでこんな感じにする

ある位置を超えたときに反対からオブジェクトが出てくるようにしていく。

*タイトルがおかしいのは申し訳ない

目次

ある位置を超えたときにオブジェクトが反対から出てくるようにする【シューティングゲームで使える】

現在の状態

ある位置を超えたときにオブジェクトが反対から出てくるようにする

  • 左右に動くオブジェクト「Player」の設置
  • 「Player」には「PlayerController.cs」スクリプトがついてる

名前は何でも良い。

「Player」にアタッチしてあるスクリプトに記述

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

public class PlayerController : MonoBehaviour
{
    public float speed = 7.0f;

    void Start()
    {
        transform.position = new Vector3(0, 0, 0);
    }

    // Update is called once per frame
    void Update()
    {
        float horizontalInput = Input.GetAxis("Horizontal");
        transform.Translate(Vector3.right * speed * horizontalInput * Time.deltaTime);

        // ここから本記事の内容
        if (transform.position.x > 9.2f)
        {
            transform.position = new Vector3(-9.2f, transform.position.y, 0);
        }
        else if (transform.position.x < -9.2f)
        {
            transform.position = new Vector3(9.2f, transform.position.y, 0);
        }
    }
}

左右に動く機能がすでについている人は「//」コメント以下をご覧いただきたい。X=9.2以上にプレイヤーが移動した場合に反対から出ていくようにしている。

実行してみる

Unityである位置を超えたときにオブジェクトが反対から出てくるようにする

実際に動かしてみてプレイヤーが画面の端にいったときに、なめらかに反対から出てくるような値に変更していただきたい。

おわりに

シューティングゲームやプレイヤーが動きに制限をつけるときに使えると思う。画面端までいくと動けなくなるより、反対側から出てくる方が個人的には快適だ。

以上、ある位置を超えたときにオブジェクトが反対から出てくるようにする方法だ。

このようなチュートリアルを販売しているので、Unityでゲームを作成している人は購入していただきたい。

あわせて読みたい
【Unity3Dサンプルゲーム・チュートリアル】「フリスビーを犬に届けよ!」の概要 【はじめに】 Unityでのゲーム開発を手助けするメディア「Unishar-ユニシャー」のさぎのみやです。「フリスビーを犬に届けよ!」というゲームのチュートリアルを作成し...
Unityである位置を超えたときにオブジェクトが反対から出てくるようにする

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次