탈출 게임 만드는 법 2

7840 단어 UnityC#

Drawer Panel에서 서랍을 클릭하면 아이템을 얻을 수 있습니다.


◇ 버튼
DrawerPanel에서 RoomPanel에서 만든 버튼 복사 및 만들기
TriggerButtonList-TriggerButton
버튼 하나만 누르면 됩니다. - Unpack Prefab을 마우스 오른쪽 버튼으로 클릭하여 사전 처리 해제
버튼 위치 및 크기 조절(W200H200)

접두사를 취소한 이유
만약 계속 접두사라면, 접두사를 만지작거릴 때 제멋대로 변경될 수 있다
◇ 패널 이미지 표시
DrawerPanel에서 LightBulbImage로 UI-이미지 만들기
전구의 이미지 설정
SetNativeSize 버튼으로 너무 커서 1/10자리 크기로 조정합니다.
◇ 텍스트
DrawerPanel 아래에 AlertText로 UI-Text 만들기
위치 및 크기 조정(W400H50)
문자 중심
텍스트 "전구 받았어요".
글꼴 크기 36
◇스크립트
DrawerManager 스크립트를 만들고 DrawerPanel에 붙여넣기
전구의 이미지와 텍스트를 GameObject 변수로 선언합니다.
[SerializeField] GameObject LightBulbPanel;
[SerializeField] GameObject alertText;
※ GameObject는 데이터 유형(Unity C#의)

[SerializeField]
Unity 편집기에서 설정 허용
※ Udemy'Unity 게임 개발 입문'38 참조.다른 객체 사용
※ 퍼블릭과 다른 점
편집기에서 설정할 수 있는 곳은 공통적이다
public에서 다른 스크립트 작업 허용
(사용할 수 있는 부분은 크지만 편집기 이외의 개작을 원하지 않는 경우 "Serialize Field"를 사용하는 것이 안전하다)
서랍을 누르면 항목 가져오기 화면 보이기
1. 전구의 이미지 표시
2.Text

public class DrawerManager : MonoBehaviour
{
    [SerializeField] GameObject LightBulbPanel;
    [SerializeField] GameObject alertText;

    void Start()
    {
        LightBulbPanel.SetActive(false);
        alertText.SetActive(false);
    }

    public void OnClickTrigger()
    {
        LightBulbPanel.SetActive(true);
        alertText.SetActive(true);
    }
}
◇ 객체를 변수로 설정
스크립트에서 변수를 선언할 때
관리자의 DrawerPanel 객체의 DrawerManager 스크립트에서
LightBulbPanel
alertText
나타나기 때문에 각각 전구 이미지와 텍스트를 설정합니다
◇ TriggerButton 누르면 전구 패널 및 텍스트 표시
Inspector에서 TriggerButton의 Button 구성 요소의 On Click()에 DrawerPanel 객체 설정
DrawerManager에 표시되는 함수를 OnClickTrigger()로 설정

원본 이미지로 돌아가기


전구의 그림을 클릭하면 항목 숨기기 화면 얻기

※ 반환 버튼, 다른 패널을 표시하는 버튼도 자신 이외의 이미지만 표시하거나 숨길 뿐 구조는 동일

    // 電球の画像をクリックすると電球画像を非表示にする
    public void OnClickImage()
    {
        LightBulbPanel.SetActive(false);
        alertText.SetActive(false);
    }
추가 구성 요소에서 조명 BulbImage 설정 버튼
Inspector에서 DrawerPanel 객체를 LightBulbImage의 Button 구성 요소로 설정하는 On Click()
DrawerManager에 표시되는 함수를 OnClickImage()로 설정

항목을 화면 (전구 이미지와 텍스트) 의 표시, 함수로 숨기기


    void LightBulbSetActive(bool isShow)
    {
        lightBulbPanel.SetActive(isShow);
        alertText.SetActive(isShow);
    }
소스 코드 완료

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

public class DrawerManager : MonoBehaviour
{
    [SerializeField] GameObject lightBulbPanel;
    [SerializeField] GameObject alertText;

    void Start()
    {
        LightBulbSetActive(false);
    }

    void LightBulbSetActive(bool isShow)
    {
        lightBulbPanel.SetActive(isShow);
        alertText.SetActive(isShow);
    }

    // 引き出しが押されたら
    // 1.電球の画像をだす
    // 2.Textをだす
    public void OnClickTrigger()
    {
        LightBulbSetActive(true);
    }

    // 電球の画像をクリックすると電球画像を非表示にする
    public void OnClickImage()
    {
        LightBulbSetActive(false);
    }
}

교재


유니티 게임 스튜디오
[유니티] 초보자 탈출!?탈출 게임 만드는 법 2
https://youtu.be/wMd0gtzJARU

좋은 웹페이지 즐겨찾기