728x90 유니티/C#16 18. DungeonShooter 게임 만들기-1 DungeonShooter 게임 만들기-1 탑뷰형태의 게임 1)Tile Map slice 하기 가져온 이미지가 하나로 붙어 있는경우 Sprite Modef를 Single에서 multiple 로 바꾼뒤 sprite Editor로 slice 해주기 2)window-2d-Tile palette 클릭 후 생성 왼쪽부터 선택-이동-붙이기-박스로 영역주기- ?-지우기-영역채우기 3)Rectangluar (사각형) 생성 카메라가 플레이어를 따라다니도록 하자 using System.Collections; using System.Collections.Generic; using UnityEngine; // 카메라 위치 = 플레이어 위치 public class CamFollow : MonoBehaviour { Transfo.. 2023. 4. 13. 17. 인벤토리 만들기-2 인벤토리 만들기-2 1. 1) slot 스크립트 만든후 이전에 만들어논 slot prefab에 스크립트를 넣어준다. 2) 스크립트using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using UnityEngine.EventSystems;//item의 정보를 ui에 표시하는 매개체public class Slot : MonoBehaviour{ public Item item; public Image itemIcon; //slot 자식 image public void UpdateUI() { itemIcon.sprite = item.itemIcon; .. 2023. 4. 12. 14. 간단 로그라이크 만들기 - 5 상속 -> 제네릭(Generic), 추상메소드, 추상클래스 상속을 받는 다는건 다 쓴다는 것 but 플레이어와 에너미가 다름 -> 제네릭을 만들어서 플레이어의 경우 -wall 로 에너미의 경우 - player로 protected 부모-자식 abstract(추상메소드) - 이름만 존재 -> 내용은 상속을 받은 쪽에서 채운다virtual - override MovingObj 코드 using UnityEngine;using System.Collections;using System;//한번에 한칸만 움직이도록public abstract class MovingObject : MonoBehaviour{ [SerializeField] float moveSpeed; [SerializeField] Layer.. 2023. 4. 6. 13. 간단 로그라이크 만들기 - 4 Vector3 중요해 - Magnitude VS sqrMagnitude 의 차이를 알고 적절히 사용 Coroutine 중요해 (-yield 와 짝꿍) 혹시 모르니 Fadeout 스크립트 ↓ void InitGame() { LevelImage = GameObject.Find("LevelImage"); levelText = GameObject.Find("LevelText").GetComponent(); levelText.text = "Day" + level; LevelImage.SetActive(true); StartCoroutine(FadeOut()); Invoke("HideLevelImage", 2); } .. 2023. 4. 5. 12. 간단 로그라이크 만들기 - 3 class1) 손을 대지 않는다 stack1) 하나만 존재 heap1) // static - 클래스 맴버 변수 없이 어디서든 호출가능 , 자기자신을 저장//Awake - 스크립트가 비활성 상태에도 실행됨Single Tone - static을 준다 , Awake로 주로 선언(관례)1) 하나만 존재 2) 손쉬운 접근 -> 주된 목적 (다른스크립트에 접근할땐 스크립트를 담을 공간을 만들고 불러내야한다) #region ----------- #endregion Player -> 버튼 한번에 한칸만 이동Enemy ->한칸만 이동 코루틴 (coroutine) -> 흐름 제어 IEnumerator 로 시작하는 메소드는 -> 코루틴StartCoroutine() 메소드 선언 必 * 교재 레트로 9장 내용Vec.. 2023. 4. 4. 11. 간단 로그라이크 만들기 - 2 SerializeField(직렬화) -> private 변수지만 inspector 접근 가능 List ->List gridPosition = new List(); private void InitList() { gridPosition.Clear(); //Clear -> 기존 데이터 삭제(텅텅비게 만든다) //이중 for문 -> 위치(1,1)~(6,6) -> mapSize=8 for (int x = 1; x Instantiate -> 생성하시오Quaternion.identity -> 회전하지 않는다 exit 생성 Instantiate(exit, new Vector3(mapSize - 1, mapSize - 1), Quaternion.identity);ene.. 2023. 4. 3. 10. 간단한 로그라이크 게임 만들기 Start 10번째 수업 간단한 로그라이크 게임 만들기 Start 1.BoardManager using UnityEngine; using System; using System.Collections.Generic; //using Random = UnityEngine.Random; //List 활용, 이중For문, class(사용자 정의자료형) //배열random.range public class Count { public int min, max; public Count(int _min, int _max) { min = _min; max = _max; } } public class BoardManager : MonoBehaviour { //자원->object->저장 .. 2023. 3. 31. 9. C# 기초 수업 -9 1.print = Debug.Log ☆ FindObjectOfTypeDelegate - callback (a를 실행시키면 b도 자동실행) 2.//람다식, 델리게이트, Action, Func //Action -> 반환형이 없는 메소드 저장 //Func-> 반환형이 있는 메소드 저장익명메소드(2.0) -> 람다식(3.0)() => {} --------------> 람다식 //Action -> 익명메소드 Action act1 = () => { string msg = "hello"; foreach (var ch in msg) Console.WriteLine(ch); }; //func.. 2023. 3. 30. 이전 1 2 다음