본문 바로가기

GAME

(16)
중간저장 inventory.cs 아이템을 먹었을 때 실행되는 AddInventory(GameOjbect itemObj) 실행됨 Sprite itemImage; ItemInfo iteminfo = itemObj.GetComponent(); SlotScript slotScript; slotScript = bagScript.slotList[0].gameObject.GetComponent(); if (itemObj.GetComponent().itemId != 1) { isSlotEmpty = true; for (int i = 0; i < bagScript.slotCount; i++) //인벤토리 안에 같은 id 가진 아이템이 있을 때 먼저, 없을때 나중에 { Debug.Log("인벤토리 for문 안으로 들어옴"); sl..
[Unity2D] 퀘스트 시스템 구현 [유니티 기초 - B24] RPG퀘스트 시스템 구현하기 를 보고 작성된 게시글 입니다. 일단 "대화 순서"를 지정해보기 위해서 npc를 두명으로 늘려주고 시작하겠습니다. 백설공주npc를 하나 추가했고 id=2000 Capsulcolider2D 와 Rigidbody2D(Kinematic)을 추가해줬습니다. 레이어는 "Object" 탈리아에게 말걸기 (열쇠를 가져다 달라는 퀘스트 ) -> 백설공주에게 말걸기 (열쇠 정보얻기) ->열쇠 찾기-> 탈리아에게 가져가서 퀘스트 완료 이렇게 탈리아(id=1000)에게 먼저 말을 건 후 백설공주(id=2000)에게 말을 걸어야 퀘스트 완료가 가능하다 퀘스트 대화 퀘스트 정보추가 와 관리 대화 시스템때와 유사하게 퀘스트를 관리해줄 QuestManager.cs 퀘스트 데이..
[Unity2D] 대화창 구현 [유니티 기초 - B23] RPG 대화 시스템 구현하기 를 보고 작성했습니다. 오브젝트 관리 Layer가 Object인 오브젝트들에게 id를 부여하고, 해당 오브젝트가 NPC인지 판별이 가능하도록 변수를 주도록 합시다 ObjData.cs를 생성하고 다음과 같이 변수를 생성합니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ObjData : MonoBehaviour { public int id; public bool isNPC; } 그리고 이를 Object 레이어인 모든 오브젝트들에게 적용하고 NPC들에게는 1000번대의 id를 부여하고 isNPC에 체크하고, NPC가 아닌 오브젝트에는..
[Unity2D]조사액션 / 조사창 구현 유니티 기초 - B23 쯔꾸르식 액션 구현하기 - 조사액션 유니티 기초 - B22 대화창 UI구축하기 를 참고하여 만들었습니다. 골드메탈님은 쯔꾸르? 이걸 쓰리디라고 하나.. 를 만드셨지만 제가 만들 게임은 찐2D여서 약간 변형하여 작성하였습니다. 조사액션 일단 조사가 가능한 오브젝트를 Object라는 Layer로 지정합니다. 저는 NPC 1명과, 감옥 쇠창살/문 3개를 object로 두었습니다. 일단 3개는 다른 성질을 가졌는데, 내 계획으로 NPC / 쇠창살 : 통과 불가 ( is Trigger : false) + 밀려나거나 하지 않음 (rigidbody (type) : Kinematic) 또한 NPC는 쇠창살 안에 있는데 물리충돌이 발생하지 않아야함( 원래대로라면 쇠창살에 밀려나 밖으로 나가짐) 문..
[Unity2D] 기초2D게임 만들기 앞부분과 내용이 이어집니다. 여태까지 해놓은 전체코드를 한번 올리고 시작하겠습니다 PlayerMove.cs : 캐릭터의 이동/점프 등에 관한 코드 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour { public float maxSpeed; //최대 속력 변수 public float jumpPower; Rigidbody2D rigid; //물리이동을 위한 변수 선언 SpriteRenderer spriteRenderer; //방향전환을 위한 변수 Animator animator; //애니메이터 조작을 위한 변수 private void Awake(..
[Unity2D] 적 몬스터 구현하기 [유니티 기초 - B18] 몬스터 AI 구현하기 [유니티 기초 - B19] 플레이어 피격 이벤트 구현하기 영상을 보고 쓰여진 게시글 입니다. 이번시간에는 드디어 몬스터에 대한 구현을 한번 해보도록 할탠데요 인공지능을 통해 자동으로 움직이는 것과 플레이어가 몬스터와 싸우는 모션까지 한번 해보도록 하겠습니다. 사실 AI가 거창하게 들리지만 스스로 생각해서 판단내릴 수만 있으면 AI라고 하는? 뭐 여튼 범위가 엄청 넓을 겁니다 롤에서도 AI모드라고 하지않나요 봇전? 걔들..멍청하죠.. 물론 코드는 복잡하겠지만 엄청 어렵고 복잡한 AI를 사용하면 알파고마냥 우리보다 잘하겠지만 게임에서 봇들도 다 AI라고 한다고 합니다. 기초이기 때문에 매우 기본적인 AI를 이용하기(움직임과 멈춤만 스스로 판단)로 합니다. 몬스..
[Unity2D] 타일맵 Platform 만들기 [유니티 기초 - B17]타일맵으로 플랫폼 만들기 여태까지는 1x1크기의 블럭을 하나하나 조작해 주었는데 이제 타일맵이라는 개념을 사용하면 그렇게 하지 않아도 된다고 합니다. 시작하기 전단계 먼저 타일맵을 사용하기 위해 맵지형을 다 없애고 나머지는 불필요해서 일단 비활성화 해두었습니다 체크 해제해주시면 비활성화 됩니다. 그런 다음 Assets에 TitleMap 폴더를 하나 만들어 주세요 타일 팔레트(Tile Palette) : 타일을 사용하기위해 모아둔 프리펩 / 타일맵을 사용하기 위한 준비단계 Window -> 2D -> Tile Palette Create New Palette -> 팔레트이름을 정하고(Platform Palette) -> 아까 만들어준 폴더로 저장위치를 지정해주면 새로운 팔레트가 생겨..
[Unity2D]플레이어 이동/점프 전 게시글에서 이어서 작성해서 스프라이트는 동일합니다. [유니티 기초 - B15] 2D플레이어 이동 구현하기 [유니티 기초 - B16] 2D플레이어 점프 구현하기 이동 구현하기 일단 이동을 구현하기위해 맵 크기를 늘려줬습니다. 단순이동 스크립트 폴더를 만들고 그 안에 캐릭터 걷기를 위한 스크립트 PlayerMove.cs 를 만들어 줍니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour { Rigidbody2D rigid; //물리이동을 위한 변수 선언 private void Awake() { rigid = GetComponent(); //변..

728x90