본문 바로가기

전체 글199

WinApi - Rectangle 윈도우 화면에서 이미지가 그려지는 방식은 다음과 같다. 이미지를 이루는 가장 작은 단위를 픽셀이라고 하는데 컬러 이미지를 나타내는 화면 기준으로 1픽셀은 R, G, B 각각 1byte로 구성된 총 3byte 값을 가진다. 해상도가 "1920×1080"인 화면이라면 가로로 1920, 세로로 1080개의 픽셀이 있으므로 화면상에는 총 2,073,600개의 픽셀이 있는 것이다. 2,073,600 * 3 = 6,220,800 byte 값을 가진다. (약 6MB) Rectangle("그림이 그려질 위치", "좌상단 x좌표", "좌상단 y좌표", "우하단 x좌표", "우하단 y좌표") A는 좌상단 x, y 좌표를 뜻하고, B는 우하단 x, y 좌표를 뜻한다. 즉, A에서 B까지의 이동거리 만큼의 직사각형이 그려진다. 2023. 9. 1.
연결 리스트(C++) 연결 리스트 : 노드들이 비연속적으로 힙 메모리 상에 연결되어 있는 구조 노드가 힙 메모리 상에 연속해서 존재하지 않는다. 리스트는 첫 번째 노드의 주소값만 가지고 있는다. 노드 : 데이터를 저장하는 기본 단위 struct Node { int data; struct Node* nextNode; }; struct List { Node* headNode; // 리스트의 첫 번째 노드의 주소 int count; // 노드 개수 }; 가변배열은 데이터가 들어갈 공간을 미리 만들어야 되는데 연결 리스트는 데이터가 추가될 때 힙 메모리에 공간을 생성한다. // 초기화 void InitList(List* list) { list->headNode = nullptr; list->count = 0; } 리스트의 맨 마지막.. 2023. 8. 29.
유니티 회전 사용 방법 유니티 공식 문서를 찾아보면 오브젝트의 회전을 하기 위해서 쿼터니언 방식을 사용하면 된다는 것을 알 수 있다. 2023. 8. 27.
유니티 스터디 public void jump() { rigid2D.velocity = Vector2.up * jumpForce; } 캐릭터가 점프를 하기 위해서 백터의 y축 방향에 점프 강도를 곱해준 값을 velocity 에 넣어주면 된다. 백터가 뭔지도 모르고 velocity 뭔지도 모르고 점프 강도를 왜 곱해줘야 되는지도 모르는데 무작정 이러한 공식을 암기하고 코드만 따라친다고 해서 무언가를 개발할때 어떻게 해야 될 지 감이 안잡힌다. 따라치고 자주 보게되니까 비슷한 코드에는 익숙해지기는 하지만, 그 원리나 동작방식에 대해서 확실하게 이해가 되지 않은 상태로 넘어가게 되면 약간이라도 응용을 하는 단계에서 어려움을 겪는다. 그러면 어느정도까지 이해를 하고 넘어가야 할까? 캐릭터가 점프를 하기 위해서 첫번째 위쪽으로 .. 2023. 4. 27.
OAuth 개념 1. 유저(클라이언트)가 소셜로그인을 지원하는 웹사이트(A)에서 카카오 로그인 버튼을 누른다. 2. 카카오 API 서버에서 카카오 로그인 화면을 유저한테 전달 3. 유저가 카카오 로그인을 완료하고 해당 도메인에서 인증을 받지 않은 경우라면 동의항목 정보를 유저에게 전달 후 유저는 동의항목 선택후 수락 4. 카카오 API 서버에서 유저가 수락한 동의항목 정보를 저장해둠 5. 카카오 API 서버는 리다이렉트 URI로 인증이 완료됬다는 코드를 전달 6. A 웹사이트가 코드를 받게되면 해당 유저가 카카오 API 서버를 통해서 인증이 정상적으로 완료됬구나라고 알게됨 --> 인증처리 완료 7. A 웹사이트는 코드값을 카카오 API 서버로 날리면서 홍길동이라는 유저의 정보에 대해서 접근할 수 있는 권한을 달라고 요청.. 2022. 5. 28.
행맨 생성자) 인스턴스(객체)를 생성하기전에 인자값이 있으면 생성자는 인자값을 받아서 자동차의 연비를 설정후 자동차를 만듬 생성자는 클래스의 멤버변수를 초기화 시키는 용도로 많이쓴다. // 자동차 클래스 public class Car { // 자동차 연비 private int gas; public Car(int gas) { this.gas = gas; } public Car() { this.gas = 50; } } void main(){ Car ferrari = new Car(150); Car Benz = new Car(); } 2022. 5. 25.