응용프로그램/유니티(Unity) 57

Unity - C# Delegate

Delegate 선언과 참조 설명 블로그 참조 블로그 2 Delegate를 메서드 파라미터로 전달 main.cs test.setDelegateFunc(btnDeleteImage); void btnDeleteImage(int idx){ //소스코드 } test.cs public delegate void DelItemIndex(int idx); private DelItemIndex delItemIndex; public void setDelegateFunc(DelItemIndex func) { delItemIndex = func; } public void btnDeleteItem() { delItemIndex(itemIndex); } event를 사용하여 추가제거하는 방법 ColliderCheck.cs pub..

Unity2D_UI_Image(Health Point)기능

Image(Health Point)기능 우선 깔끔하게 정리하기 위해서 Canvas를 우클릭 -> 빈객체를 생성하고 HealthPoint라고 이름을 명명합니다. HealthPoint를 우클릭 -> UI->Image 클릭 -> HP로 이름바꾸기 생명그림.zip 파일의 압축을 풀어서 Assets파일에 넣고 Sprite Mode -> Multiple -> Sprite Editor 클릭! 생명그림.zip Slice -> X: 125 Y:25 지정 -> Slice -> Apply 클릭 아까 만든 Image "HP"클릭후 이미지 넣기 아래의 소스를 메인카메라에 부착 using System.Collections; using System.Collections.Generic; using UnityEngine; using ..

Unity2D_UI_Button(다시시작,씬이동, 종료)기능

Button(다시시작,씬이동, 종료)기능 우선 아래의 소스를 MainCamera에 집어 넣습니다.빨간색으로 표시된 소스가 이번 포스팅에서 다루는 소스입니다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class PauseMenu : MonoBehaviour { public GameObject PauseUI; private bool paused = false; void Start() { PauseUI.SetActive (false); } void Update() { if (Input.GetButtonDown ("Pause")) { pa..

Unity2D_UI_Button(일시정지, 진행)기능구현

Panel_기능구현 판넬을 Esc로 보이고 안보이게 하고 싶습니다. 우선 Edit-> Project Settings -> input을 클릭합니다. Axes의 숫자를 추가합니다. 이제 아래의 스크립트를 항상 활성화되어있는 MainCamera에 부착합니다 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PauseMenu : MonoBehaviour { public GameObject PauseUI; private bool paused = false; void Start() { PauseUI.SetActive (false); } void Update() { if (Input.GetButtonDo..

Unity2D_UI_Panel, Text, Button 만들기

Panel, text, Button 만들기 판넬은 정리할때 쓰는 상자라고 생각하시면 됩니다. 생선1생선2생선3 저렇게 있는것보다 생선1생선2생선3 요렇게 박스안에 넣는것이 안정감있고 옮기거나 관리하기도 편합니다. Unity에서는 버튼, Text를 일괄적으로 관리할때 사용할 수 있습니다. 파란점을 드래그하면 크기조절이 가능한데 알아서 드래그하고! 하이러키의 판넬을 우클릭한다음 Text와 Button을 만들어 줍니다. Text는 OverFlow로 설정하여 크기조절이 용이하게 설정합니다. Font Size로 글자크기를 알맞게 조절합니다. Aligiment로 가로 세로 가운데 정렬을 합니다. Horizontal Overflow, Vertical Overflow를 Overflow로 설정합니다. 버튼을 만들면 Bu..

Unity2D_UI_Canvas 설정하기

UI Canvas 설정하기 Component -> UI -> Canvas를 눌러서 캔버스를 삽입합니다. 그냥 캔버스르 만들면 요로콤 됨니다. 캔버스르 만들었는데 이제까지 만들었던 맵이랑 차이가 어마어마하죠 ㅡ_ㅡ... 좀 많이 불편하므로 카메라에 캔버스 크기를 맞추겠습니다. Canvas -> Render Mode -> Screen Space - Camera 선택 Render Camera에 카메라 드래그하기 마지막으로 Order in Layer을 2로 설정하여 다른 객체보다 앞에 오도록 합니다.

Unity2D_Player에 카메라 붙이기

Player에 카메라 붙이기 플레이어에 객체에 "Player" 태그를 달아줍시다 아래의 소스를 카메라에 부착합니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraFollow : MonoBehaviour { private Vector2 velocity; private float smoothTimeY; private float smoothTimeX; public GameObject player; public bool bounds; public Vector3 minCameraPos; public Vector3 maxCameraPos; void Start() { player = Ga..

Unity2D IEnumerator , 점프

IEnumerator , 점프 게임을 제작하다보면 천천히 화면이 어두워진다거나 서서히 높아져야 할때가 있습니다. Update 시점함수에 while같은 반복문을 사용하면 프레임이 너무 빠르게 지나가서 순식간에 일어난 것처럼 처리됩니다. 이럴때 사용하는것이 바로 Corutine입니다. StartCoroutine (함수명); IEnumerator 함수명 { int power=10; while (power >= 1) { power-=10; yield return 지연 값; } } 여기서 지연값에 WaitForSeconds(1f)를 넣으면 1초지연후 다음 프레임에서 호출하는 방식입니다. 이를 활용하여 Jump모션을 만들었습니다. 동그란 객체는 Sprite(그림),Rigidbody2D(물리엔진), Colilisio..

Unity2D 애니메이션 편집하기

애니메이션 편집하기 2분만에 잠깐 그린 막대기와 원으로 만든 애니메이션입니다. 제가 그래픽쪽엔 꽝이라서 그래픽은 포기했습니다. ^-^ 음하핫 ㅡㅜ 잡설은 넘어가고 동그라미와 작대기 하나로 애니메이션을 만들어 보겠습니다. 모두 다 만들려면 시간이 많이 걸리므로 하는 방식만 알려드리겠습니다. 우선 gif에 분해된 캐릭터를 가져옵시다. 이걸로 위의 애니메이션을 만든겁니다. 신기하죠^^? 이것을 자동분할하면. 조금 희미하지만 자~~세하게 들여다보면 네모로 나뉘어져있습니다. 분할된 이미지중 하나를 클릭하면 아래와 같이 표시됩니다. 여기에서 가운데 동그라미는 회전축을 나타냅니다. 이 동그라미가 머리 이므로 이 동그라미를 아래로 드래그하여 회전축을 지정합니다. 이런식으로 몸의 관절을 생각하면서 모두 회전축을 지정해 ..

Unity2D_착지 애니메이션, 충돌체(Collider)

Unity2D_충돌체 처리하기 이번에는 [Unity2D_횡스크롤 게임 지형만들기]에서 다루었던 충돌체(Collider)간의 이벤트를 처리하는 방법을 다뤄보려고합니다. Player와 지형과 닫는 순간 착지를 탁! 하는 순간 앉는 애니메이션이 작동한다면 멋있겠죠? 음 별로 멋있지는 않네요 그래도 어디에 쓰는지는 알겠죠? 총에 맞았을때 데미지를 입히거나, 땅을 딪고 있을때 것거나 아주 다양하게 사용하는것이 바로 트리거 입니다. 충돌체의 이벤트는 3가지가 있습니다. 충돌체와 부딪친 순간 OnTriggerEnter() 충돌체위에 접촉해 잇을 때 OnTriggerStay() 접촉한 충돌체와 떨어질때 OnTriggerExit() 맨 상단의 움짤처럼 땅에 발이 다았을때 착지하는 모션을 만들어 보겠습니다. Player ..