프로그래밍
-
Unity C# float 반올림, 올림, 버림 하기프로그래밍/Unity 2023. 7. 1. 21:14
일반적으로 C#은 System.Math 에서 다양한 수학 함수를 사용할 수 있습니다. 반올림 Math.Round(value, n)을 통해 value를 n 소수점까지 남기고 반올림을 진행합니다. 올림 Math.Ceiling(value)를 통해 소숫점을 올림합니다. 버림 Math.Truncate(value)를 통해 소숫점을 버림합니다. Unity에서는 Math 대신 Mathf에서 수학 함수를 사용할 수 있습니다. 반올림 Mathf.Round(float f) 를 통해 가장 가까운 정수로 반올림 합니다. 올림 Math.Ceiling(float f)를 통해 소숫점을 버림합니다. 버림 Math.Floor(float f) 를 통해 소숫점을 버림합니다. C#과 Unity의 반올림/올림/버림 함수 이름이 조큼 달라서 써..
-
Unity C# 2가지 충돌 감지 OnCollisionEnter, OnTriggerEnter프로그래밍/Unity 2023. 6. 14. 21:20
Unity에서 충돌을 감지하는 방법은 2가지가 있읍니다. 사실 Raycast라고 하나 더 있는데 Unity에서 만들어 준 OnCollision, OnTrigger 내장함수를 먼저 알아보겠읍니다. 1. OnCollisionEnter / OnCollisionStay / OnCollisionExit Rigidbody + Box Collider에서 Trigger 처리를 하지 않은 오브젝트는 유니티의 물리 엔진의 영향을 받게 되는데 이 오브젝트에 적용할 Script에서 OnCollision ~~ 함수를 쓰면 충돌 감지를 합니다. 충돌감지를 하면 Update안에서 계속 인식이 되야하니까 Update 문 안에 써야하나 싶지만 Update안에 쓸 필요 없이 Update 바깥에 써주면 됨니당. 2D에서는 뒤에 2D를 붙..
-
Unity C# String to Int, Int to String프로그래밍/Unity 2023. 6. 4. 18:22
맨날맨날 까먹는 string to int, int to string 정리 1. String to Int int n; string result; result = n.ToString(); 2. Int to String int to String은 두가지 방법이 있습니다. 1) int.Parse 사용 string s; int result; result = int.Parse(s); 2) int.TryParse 사용 int.TryParse(string s, out int result) 는 Bool이 return 값이며 int로 전환 성공시 true를 return 하며 out int result에 성공한 값을 내뱉고 전환 실패시 false를 return 합뉘다. int result; if(int.TryParse("-..
-
Unity C# the associated script can not be loaded 오류 해결프로그래밍/Unity 2023. 2. 10. 21:09
컴파일 오류가 나지 않았는데 유니티와 vs code가 자동으로 연결되지 않고 유니티를 껏다 켜니 safe mode로 들어가라는 안내문이 나와서 ignore하고 진행했더니 오브젝트에 연결된 스크립트에 the assoicated script can not be loaded 라는 경고문이 나왔습니다. 문제 원인은 다양하겠지만 제가 해결한 방법은 1. 유니티를 껏다 켜고 Safe mode로 진입 2. vs code에서 컴파일 Pass상태에서 3. Unity에 연결 클릭 이후 유니티에서 호로록 자동으로 vscode를 인식하면서 오류 해결되었읍니다
-
Unity C# Random Range 사용법 (int/float)프로그래밍/Unity 2023. 2. 5. 17:28
Unity에서 편리하게 난수값을 생성하게 해주는 Random.Range(min, max) 에서 input min, max값은 int/float 형태 모두 사용할 수 있는데 input 형태에 따라 max값이 포함되느냐/되지 않느냐 다릅니다. 1. min, max값에 float형을 넣을 땐 max값은 포함됩니다. (maxInclusive) 2. min, max값에 int형을 넣을 땐 max값은 포함되지 않습니다. (maxExclusive) 따라서 정수 0,1중에 하나를 뽑고 싶다면 Random.Range(0,2)를 작성해야 합니당
-
[Unity][2D] 유니티 스프라이트 애니메이션 넣기프로그래밍/Unity 2021. 12. 12. 20:58
유니티에 스프라이트의 애니메이션을 넣기 위해서 해야하는 과정은 다음과 같았다. 1. Sprite Altas 만들기 - 한 그림 파일 안에 Sprite를 여러개 붙여 놓은 것 애니메이션을 만들기 위해서 Sprite를 나누어 주는 이유는 그림을 불러오는 과정을 최소화 하기 위함이다. 게임을 만들다 보면 점점 쌓이는 그림들이 많으니까 UI 도 다음에 고쳐 주어야겠다. (▼) Sprite Altas를 만들기 위해 Sprite Atlas를 클릭해서 만드려고 했는데 유튜브나 구글링을 해봤는데 어떻게 하는지 잘 몰라서 그냥 포토샵으로 크기를 만들었다 ㅜㅜ 2. Sprite를 자르기 (▼) Sprite를 자르기 위해 Sprite Mode를 Single --> Multiple로 바꾸어주고 Sprite Editor를 눌러..
-
[Unity][2D] 드래그 해서 타일 깔기프로그래밍/Unity 2021. 11. 27. 17:58
이전 포스트에 이어서 모든 방향으로 타일 깔기 도전 switch 조건문을 이용해서 마우스 방향에 따른 Mouse direction 값을 조정해주는 방법으로 진행하였다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.Tilemaps; using UnityEngine.EventSystems; public class button_Event : MonoBehaviour { private bool UI1_active = false; private bool begin = true; public Button button2; Vector2 current_..