코딩 2막 <C#개념편>/코딩 2막 <C#응용편>(12)
-
[C#, 유니티] 코루틴 IEnumerable, IEnumerator
0부터 100까지 짝수를 출력하고 싶다. 단 IEnumerable을 사용할 것 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class EvenNumberCollections : IEn..
2022.11.07 -
[C#, 유니티] Unity3D_RPG Scriptable 응용 2 (Item 및 Inventory 생성)
인벤토리(Inventory) 오늘은 스크립터블 오브젝트를 통해 아이템의 기능을 구현하고 실제로 게임에서 아이템을 추가하고 삭제할 수 있도록 인벤토리를 만들어보겠습니다 스크립트 1. Item.cs 아이템은 사용하는 행동이 중요하기보다 아이템(객체)이라는게 더 중요하다는 점에서 인터페이스보다 추상클래스가 적절하다 이후에 있을 데이터들이 인게임에 들어가거나 플레이어에게 장착하거나 인벤토리로 들어가는 각각의 상황들에 맞게 가능하려면 아이템을 데이터로 만들어야 한다(스크립터블 오브젝트) 추상클래스는 인터페이스와 마찬가지로 사용되는 추상함수가 상속받는 클래스에서 반드시 재정의 되어야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 using System.Col..
2022.08.30 -
[C#, 유니티] Unity3D_RPG Scriptable 응용 1 (선택지, 퀘스트 생성)
Scriptable 저번 시간 스크립터블를 배웠다 오늘은 이것을 가지고 대화를 통해 선택지를 만들고 퀘스트를 주는 RPG를 만들어보겠습니다 유니티의 특징을 이용하여 해당 NPC마다 대화에 대해서 관리를 해주기 위해 애초부터 컴포넌트를 갖고 있도록 하는 방식이 편할것이다 그러나 하나의 NPC만 하더라도 대화가 한 두개가 아닐것이다 그래서 컴포넌트처럼 스크립트에 대화를 할당하고싶지만 게임오브젝트에 스크립트를 붙이고 싶지않다 관리가 어려울 뿐더러 매번 사용할때마다 붙이는것이 보기 좋지않다 그렇다면 어떤 방식이 좋을까? 컴포넌트를 타일형태의 데이터를 저장하는 방법, 바로 'Scriptable'을 이용하자는 것이다 기존 클래스들은 MonoBehaviour 클래스를 상속받고 있었다 컴포넌트를 타일형태로 저장하는 클..
2022.08.29 -
[C#, 유니티] Unity 3D_FPS 게임 구현
공부한 내용을 기반으로 FPS를 만들어보겠습니다 1인칭 시점 이동 구현 1인칭 시점 전환 구현 1인칭 슈팅 구현 결과 +) 총기(머신건, 피스톨) 추가 및 교체 결과 공감해주셔서 감사합니다
2022.08.16 -
[C#, 유니티] Unity 3D_이벤트 구현
1, 2. 플레이어는 audiomanager와 uimanager를 쓰지 않으면서 hp가 바뀔때마다 이벤트함수가 발생 결과 3. 일정 체력이하로 떨어진 순간 플레이어를 쫓아오는 몬스터를 이벤트함수로 만들기 공감해주셔서 감사합니다
2022.08.12 -
[C#, 유니티] Unity3D_인터페이스 구현 (물에 반응하는 인터페이스)
실습 주제 1. 플레이어와 몬스터는 데미지에 반응하고 장애물은 반응하지 않는 인터페이스 설계 2. 플레이어와 장애물은 물에 반응하고 몬스터는 반응하지 않는 인터페이스 설계 플레이어, 몬스터, 장애물에 인터페이스를 추가 데미지를 받을 시 플레이어는 '아프다', 몬스터는 '분노' 라는 출력을 구현 (다형성) 행동(함수)을 구현하여 물에 천천히 가라앉고 뜨는 출력을 구현 결과 ========================= 또 다른 방식 ========================= 결과 공감해주셔서 감사합니다
2022.08.12