728x90
반응형

Unity/2D RPG 16

회복 아이템 by Unity

회복 아이템을 구현하기 위해서 아이템 오브젝트의 c# component에서 구현하려고 했으나 player가 닿아서 먹는다면 item은 없어질 것이고 그러면 그 후에 지속적으로 회복을 시켜줄 수 없고 중첩에 대해서도 복잡해지기에 player의 c# component에서 대부분의 기능을 구현했다. 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 int HealTime = 0; public void Healed(int HealTime) { if (this.HealTime > 0) { this.HealTime += HealTime; } else if (this.HealTime

Unity/2D RPG 2021.07.18

캐릭터(슬라임) by Unity

슬라임 타입의 적이 텍스쳐를 그리기에도 쉽기에 슬라임 타입의 적을 만들기로 했다. 먼저 슬라임은 기본적으로 계속 점프를 하고 player을 발견하면 더 높고 빠르게 뛰도록 할 것이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 int Direction = 0; Vector2 pos = new Vector2(transform.position.x, transform.position.y); Vector2 boxSize = new Vector2(10.0f, 10.0f); Collider2D[] collider2Ds = Physics2D.OverlapBoxAll(pos, boxSize, 0); foreach (Collider2D collider in collider2Ds) { if (collider.t..

Unity/2D RPG 2021.07.18

원거리 공격 by Unity

포물선을 그리면서 날아가는 투사체를 이용해서 공격하는 것을 만들 것이다. 투사체를 윗 방향으로 던진다면 거리가 있는 곳에 있는 적은 맞추기 쉽겠지만 가깝게 있는 작은 적은 맞추기 어려울 것이다. 그렇기 때문에 앞쪽으로 던지고 아래쪽으로 중력을 가해서 포물선을 그리며 투사체가 날아가도록 했다. 그러기 위해서는 먼저 투사체 객체에 대한 코딩을 먼저 해야 한다. 1 2 3 4 void Start() { this.GetComponent().velocity = new Vector2(Velocity_x * Direction , 0); } Colored by Color Scripter cs player 이 보고 있는 방향을 1, -1로 Direction으로 들고 와서 투사체의 속도를 변경해줬다. 그리고 속도는 처음 ..

Unity/2D RPG 2021.07.14

카메라 무빙 by Unity

player와 카메라의 좌표를 일대일 대응시킨다면 편하겠지만 그렇게 자연스럽지 않을 것이다. 그렇기에 나는 카메라 중심에서 어느정도 떨어졌고 더 떨어지는 방향으로 이동할 때에만 카메라와 player의 위치를 일대일 대응시켰다. 카메라의 position이 Vector3 변수인 camera.position에 player의 position이 Vector3 변수인 player.position에 저장되있고 각각의 velociry를 각각의 .velocity에 저장되있다고 하면 1 2 3 4 5 if (camera.position.x - player.position.x >= 3 && player.velocity.x = 3 && player.velocity.y

Unity/2D RPG 2021.07.08

근접 공격 by Unity

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 Rigidbody rigid2D; Animator animator; public int damage = 5; private float curTime; public float coolTime = 0.5f; // 공격 쿨타임 void Attack() //공격 { this.animator.SetTrigger("attacking"); curTime = coolTime; StartCoroutine("Attacking"); //Coroutine for 애니메이션의 타격시간과 실질 데미지가 다는 시간을 동일하게 하기 위해..

Unity/2D RPG 2021.07.07

유닛 이동 by Unity

unity를 이용해서 횡스크롤 rpg 게임을 만들 것이다. 딱히 이유는 없고 방학을 좀 더 알차게 보내려고 시작했다. ERROR는 게임 코드네임이다. Unity와 C#을 깊이있게 배운 것이 아니기 때문에 단어 선택이 좀 틀릴 수도 있다. player 캐릭터를 circleCollider2D와 boxCollider2D를 이용해서 collider을 설정해줬고 Rigidbody2D도 넣어주고 freezeRotation또한 해줬다. playerController C#파일에 아래와 같은 코드를 입력해서 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 float WalkSpeed = 4.0f; int Direction; Rigidbody2D rigid2D; ..

Unity/2D RPG 2021.07.07
728x90
반응형