복사하면 돼요!!화면 외부에서 사용자 인터페이스를 꺼내거나 닫는 창 만들기

복사하면 돼요!!화면 외부에서 사용자 인터페이스를 꺼내거나 닫는 창 만들기


※ Tween 계열의 자산 이동 UI를 사용하지 않는 방법에 대한 설명입니다.
본 보도는 누구나 제작할 수 있도록gif애니메이션의 해설을 통해서만 완성되었으니 반드시 참고하시기 바랍니다
이번에 샘플 진행하면 이거 할 수 있어요.

환경


Unity 2019.1.0f2
VisualStudio2017
+α복제 보조 무료 소프트웨어 Clibor

스크립트 여기서↓


WindowManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class WindowManager : MonoBehaviour
{

    [SerializeField] private GameObject Window; //移動する対象
    [SerializeField] private GameObject Buttom; //実行ボタン
    [SerializeField] private GameObject WindowButtom; //ウィンドウボタン
    [SerializeField] private float startPosition;//上の移動限界値
    [SerializeField] private float endPosition;//下の移動限界値
    [SerializeField] private float moveSpeed;//上下の移動速度

    private float nowPosition;//現在のウィンドウ座標

    private bool MoveDecision = true;//今のウィンドウがどこにあるかの判定 trueなら上
    private bool WindowTrigger = false;//ウィンドウを出すボタンの判定
    private RectTransform window;//UIの座標変更
    void Start()
    {
        window = Window.GetComponent<RectTransform>();//取得
    }
    void FixedUpdate()
    {
        nowPosition = window.localPosition.y;//現在座標の取得

        if (MoveDecision && WindowTrigger) //今ウィンドウが上にあるかつウィンドウボタンが押された時
        {
            if (nowPosition > startPosition)//この座標になるまで
            {
                window.localPosition -= new Vector3(0, moveSpeed, 0);//下に移動する
            }
            else if (nowPosition <= startPosition)//制限より移動したら
            {
                WindowTrigger = false;//入力を無効にし
                MoveDecision = false;//下についたと知らせる
            }

        }
        else if (WindowTrigger) //今ウィンドウが下にあるかつウィンドウボタンが押されたら
        {
            if (nowPosition < endPosition)//この座標になるまで
            {
                window.localPosition += new Vector3(0, moveSpeed, 0);//上に移動する
            }
            else if (nowPosition >= endPosition)//制限より移動したら
            {
                WindowTrigger = false;//入力を無効にし
                MoveDecision = true;//上についたと知らせる
            }
        }
    }
    public void OnClickWindowButtom()//ウィンドウ移動に呼ぶ
    {
        Debug.Log("ウィンドウがおされた");//ここにボタンが押されたときの実行内容
        WindowTrigger = true;//ウィンドウ判定をtrueに
    }
    public void OnClickButtom()//ボタン実行時に呼ぶ
    {
        Debug.Log("実行された");//ここにボタンが押されたときの実行内容
    }
}

사용 방법


준비 작업


1, 사용자 인터페이스의 편집에 편리하도록 2차원 모드로 설정


▶ 2D 모드 변경 gif

2, 위의 스크립트 복사


▶ 복사&붙여넣기 gif

① 레벨 라이브러리에서 객체 만들기


(gif의 설명은 각자의 문서 아래에 있습니다)

객체 배치


창 사용자 인터페이스 (빈 객체)
-Canvas(UI 구성을 통해 자동으로 생성)
창(UI → Image)
WindowsButtom(UI→Buttom)
--Text(윈도우 입력)
--Buttom(UI→Buttom)
Text(입력 실행)
이벤트 시스템(UI 배포 자동 생성)※CanvasのCanvas ScalarをScale With Screen Sizeに変更するのを忘れずに!▶ 대상 설정gif

객체 조정

画像にはないですが、WindowのPosYを366に追加設定←忘れずに!!Geme 장면의 화면비는 4:3입니다.
각각의 검사기 세부 사항 ↓

▶ 대상 조정gif

② 스크립트 부착 및 설정


다음 그림과 같이 커브의 객체를 부착 및 수치로 입력합니다.

▶ gif 부착 & 설정

③ 버튼에 함수 할당


OnClick () 의 + 를 누르면 왼쪽 아래에 힐러키의 Windows UI가 부착됩니다.
오른쪽 드롭다운 목록에서
WindowsButtom에는 WindowsManager가 포함되어 있습니다.OnClickWindowButtom()
Buttom에는 WindowsManager가 포함됩니다.OnClickButtom()을 선택합니다.
이렇게 하면 완성!실행하고 확인하세요!
▶ 단추에 함수 할당gif

마지막


이번에는 간단한 UI 이동을 설명하고 제작했습니다.
이걸 적용하면 이런 느낌의 것도 (지금 개발 중) 어떻게든 파악해 보세요!

스크립트에 대량의 논평이 퍼졌으니 참고하십시오.
아마 더 예쁜 글쓰기가 있을 거예요. 조언이 있으면 메시지를 남겨주세요!
또 잘못됐거나 잘못됐다면 댓글을 기다려 주세요.(ω・)사랑해
보충하여 기록하다
버튼 맞춤법은 Buttom...정말 미안합니다.

좋은 웹페이지 즐겨찾기