ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2020-05-11 [unity]
    C#/수업내용 2020. 5. 11. 18:47

    오늘 이리저리 메모 >

    더보기

    GameObJect.FindWithTag

    APP - 로고 - 타이틀 - 로딩화면 - 로비 - 인게임

    (진입씬)

    씬 (화면 전체가 바뀜 / 완전히 다른 화면으로 보이는게 대부분임)

     

    팝업

    ㄴ (화면에 띄워지는것, 닫기버튼 있음)

    페이지

    ㄴ (뒤로가기가 있는 것)

    씬전환

    SceneManager.LoadScene("string");

    버튼클릭처리하기

     

    Input.GetMouseButtonDown(0)

    Input.GetMouseButtonUp(0)

     

    씬전환

    APP - LOGO - TITLE - LOBBY

     

    역직렬화

    TextAsset textAsset = Resources.Load("Data/character_data") as TextAsset;

    string json = textAsset.text;

     

     

    모노를 상속 받지 못했다면 컴포넌트로 활용하지 못한다.

    상속 받았다면 컴포넌트로 활용하고 인스턴스화 할때 new 사용 X

     

     

    SceneManager.sceneLoaded += SceneManager_sceneLoaded; // 씬이 로드 되었다면 오른쪽 메소드 호출

    상기 문법은 하나의 대기 진동벨을 받았다고 비유 생각하면 편함

    동작 시행을 명령 후, 동작 됬을 시 해당 문법 실행

    순차적 진행 X

     

    >> UnityAction

    대리자는 형식이다.

    대리자, 메소드를 집어넣을 수 있다.

    메소드를 호출하듯이 씀. 대신씀.

    변수마냥 사용되었고

    마치 변수 안에 메소드를 넣은거처럼 사용 됨.

    선언하고, 연결하고. ~~~.변수 += () => {};

    정의. 호출.

     

    delegate 선언

    public Unityaction onDieComplete;

     

    delegate ㅇ녀결

    this.hero.onMoveComplete += this.HeroMoveComplete;

    private void Hero Diecomple() {

    Debuug.Log("히로 다이컴플리ㅌ,");

    }

     

    delegate 호출

    this.onDieCompletate;

     

    씬 전환

    SceneManager.LoadScene("InGame");

    대리자 (UnitiyAction)

    SceneManager.sceneLoaded += SceneManager_sceneLoaded;

     

    json 로드

    TextAsset textAsset = Resources.Load("Data/character_data"_ as TextAsset;

     

     

     

     

     

    오늘 코드 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.SceneManagement;
    using UnityEngine.UI;
    using UnityEngine.Events;
     
     void Start()
        {
            button.onClick.AddListener(() =>
            {
                SceneManager.sceneLoaded += SceneManager_sceneLoaded; // 씬이 로드 되었다면 오른쪽 메소드 호출 
                SceneManager.LoadScene("InGame");
            });
     
        }
     
        private void SceneManager_sceneLoaded(Scene arg0, LoadSceneMode arg1)
        {
            //var inGame = GameObject.FindObjectOfType<InGame>();
            //inGame.Init(this.CharacterId);
            //Debug.LogFormat("InGame : {0}", inGame);           // 이건 타입으로 해당 인스턴스를 가져옴 
     
            var inGamego = GameObject.Find("InGame"); // 이건 게임오브젝트를 가져온것 
            var inGame = inGamego.GetComponent<InGame>();
            inGame.Init(this.characterId);
            Debug.Log(inGame);
        }
    cs

     

    'C# > 수업내용' 카테고리의 다른 글

    2020-05-13 [unity / ui 무기선택 및 공격모션 ]  (0) 2020.05.13
    2020-05-12 [unity / 같이 이동]  (0) 2020.05.12
    2020-05-08 [대략적 lifecycle]  (0) 2020.05.08
    2020-05-08 [unity / Clone]  (0) 2020.05.08
    2020-05-07 [unity]  (0) 2020.05.07
Designed by Tistory.