0 支持
45 閲覧
objectが画面外に出ないようににしたいと思いネットの記事を参考にスクリプト作成しまして一時はできていたのですがある時から画面端にとどまらず少し画面外に出た後本来止まるべき場所にワープするのを繰り返します。(動画を添付しようとしましたがうまくできませんでした。すみません。)

制限のためのスクリプトは以下の通りです。

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class utils : MonoBehaviour

{

    // 移動可能な範囲

    public static Vector2 m_moveLimit = new Vector2(4.6f, 3.3f);

    // 指定された位置を移動可能な範囲に収めた値を返す

    public static Vector3 ClampPosition(Vector3 position)

    {

        return new Vector3

        (

            Mathf.Clamp(position.x, -m_moveLimit.x, m_moveLimit.x),

            Mathf.Clamp(position.y, -m_moveLimit.y, m_moveLimit.y),

            0

        );

    }

}

また、以下のスクリプトを制御対象のobjectに組み込んでいます。

transform.localPosition = utils.ClampPosition(transform.localPosition);

PC初心者でunityのことは右も左も分からない素人なので事細かに教えていただけると幸いです。よろしくお願いいたします。
初心者 (120 ポイント) | 45 閲覧

ログインまたはユーザー登録してから回答してください。

回答 1

0 支持

transform.localPosition = utils.ClampPosition(transform.localPosition);

object自体を移動させているコードと、上のコードが書かれている周辺のコードがみてみたいです。

鉄人回答者 (4.9k ポイント)

関連する質問

0 支持
1 回答
こがらし0917 初心者 (120 ポイント) 3 週間 質問 | 51 閲覧
0 支持
1 回答
きよぷ〜 初心者 (120 ポイント) 2020 9/3 質問 | 67 閲覧
0 支持
1 回答
0 支持
1 回答
たくたく 初心者 (120 ポイント) 2 週間 質問 | 43 閲覧
2021-02-08 質問・回答をMarkdownで入力できるようにしました。
2020-09-03 新たなスパム対策を導入しました。

103 質問

107 回答

117 コメント

130 ユーザー