전체 글199 UI 이벤트 시스템 UI를 마우스로 클릭하거나 UI위에 마우스 커서를 올리는 등... 이러한 행동을 했을 때 이벤트가 발생하는 이유는 이벤트 시스템이라는 곳에서 처리를 하기 때문이다. UI를 생성하면 이벤트 시스템이 같이 생성된다. IPointer Event 핸들러가 작동하지 않는 이유? public class UI_EventHandler : MonoBehaviour, IPointerClickHandler { public Action OnClickHandler = null; public void OnPointerClick(PointerEventData eventData) { if (OnClickHandler != null) OnClickHandler.Invoke(eventData); // 등록된 이벤트 핸들러 호출 } } .. 2024. 3. 4. C# 프로퍼티 public 필드의 유혹 필드를 public으로 선언하면 은닉성이 지켜지지 않기 때문에 접근 한정자를 private로 설정 후 Get/Set 메소드를 따로 만들어서 해당 필드에 접근할 수 있도록 하였다. class MyClass { private int myField; public int GetMyField() { return myField; } public void SetMyField(int myFiled) { this.myField = myFiled; } } class Program { static void Main(string[] args) { MyClass myClass = new MyClass(); myClass.SetMyField(3); Console.WriteLine(myClass.GetMy.. 2024. 3. 3. UI 자동화 수동으로 일일히 해당 UI에 컴포넌트를 적용시키는 것의 단점 적용할 컴포넌트(스크립트)가 매우 많아지게 되면 추후에 관리하기가 매우 복잡해짐 코드로 UI에 컴포넌트를 적용하는 것을 자동화 시키는 방법 1. 해당 오브젝트에 컴포넌트로 연결을 자동화 시킬 UI 오브젝트들의 이름을 종류별로 정의 public class UI_Btn{ enum Buttons { PointBtn } enum Images { ItemIcon } } Button 컴포넌트를 가지고 있는 "PointBtn" UI 오브젝트에 Button 클릭이벤트를 컴포넌트를 연결시킨다고 가정 2. 유니티 씬상에 연결시킬 컴포넌트 종류에 관한 UI 오브젝트가 있는지 확인 Bind(typeof(Buttons)); public class UI_Base : M.. 2024. 3. 3. 백준 15649 문제 분석 CPU가 1초에 대략 1억번 연산을 한다고 가정했을 때 시간제한 안에 돈다는 것을 확인할 수 있음 C++ 코드#include using namespace std;// N, M은 1~8 사이의 값 int N, M;// N과 M이 8일때 최대 길이가 8칸이 나옴 상태는 인덱스 1부터 시작하게끔 설정하므로 크기를 더 늘려줌int arr[10];int state[10]; // 0(사용가능), 1(사용중)void func(int k) { // 1. base condition(재귀 함수 탈출 조건) // M의 길이만큼 숫자가 모두 들어갔을 때 // ex) M=1 일때 숫자가 하나만 들어가면 탈출해야 됨 if (k == M) { for (int i = 0; i > N >> M; // 2.로직 // 최초.. 2024. 3. 3. 백준 1992 문제 분석 언제 괄호를 열고 닫아야 하는지? 1. 똑같은 영상으로 이루어지지 않은 경우 4등분을 하기 전에 괄호를 한 번 열어주고 4등분한 재귀함수가 모두 끝난 이후 괄호를 닫아줌 주어진 영상이 모두 똑같은 수로만 되어있으면 괄호로 묶을 필요가 없음 --> 이 말을 이해하지 못해서 똑같은 수로 되어 있는 경우도 괄호로 묶어버림 코드 #include using namespace std; int board[65][65]; bool valSameCk(int n, int x, int y) { for (int i = x; i < x + n; i++) { for (int j = y; j < y + n; j++) { if (board[x][y] != board[i][j]) return false; } } return.. 2024. 3. 1. C# 상수와 열거형 상수 : 데이터를 바꿀 수 없는 메모리 공간에 저장된 값 왜? 상수가 필요한가? 변수를 선언해놓고 바꾸지 않으면 상수처럼 쓰일 수 있지 않을까? 변수를 선언할 때 특정 값으로 초기화해놓은 다음에 절대 바꾸지 않으면 상수는 쓸 이유가 없다. 하지만, 수천줄 이상의 코드를 작성하다보면 어떤 변수는 변경해도 되고 어떤 변수는 변경하면 안 되는지 판단하기가 매우 힘들고 매번 이 변수는 상수로 쓰이니까 주석처리를 해주는 것도 매우 번거로운 작업이 된다. 심지어 개발자의 잘못으로 값이 변경됬을 때 컴파일 시점에 확인이 안되므로 런타임 시점에 확인을 해야 된다. 열거 형식(enum) : 여러 개의 상수들을 묶어 하나의 클래스처럼 사용하는 방식 클래스를 사용하기 위해서는 new를 해서 인스턴스화 시킨 다음 데이터를 꺼.. 2024. 2. 29. 이전 1 ··· 4 5 6 7 8 9 10 ··· 34 다음