목록게임제작/API (6)
SYeonni Study Room
API 게임 모작 쿠키런 팀프로젝트로 진행 내가 맡은 기능 : 아이템 , UI, 플레이어 상호작용 등 구현한 기능 - 아이템 1. 부스트 : 일정 시간 가속력 붙는다. 2. 커지기 : 일정 시간 크기가 커진다. 3. 자석 : 일정 시간 젤리/코인을 끌어당김 4. 생명 : 일정 HP 회복 5. 젤리 6. 코인 - 모바일 게임 으로 스테이지 들어가기전까지 실제 디바이스 시작처럼 만들었음 - 스테이지 진입 후 실제 인게임과 비슷하게 구현하기 위해 노력함 느낌점 - 혼자 진행했던 이전 API 보다 다른 사람의 코드를 보고 같이 취합하는 과정에서 효율적인 방법들을 많이 배웠다. 같은것을 구현해도 각자 다른방법들이 있어서 그부분에서 신선하고 좋았다. - 최적화 하는것이 어렵다.. 이부분은 더 공부해야할듯하다. - ..
아무것도 클릭하지 않은 상태에서 사용자가 처음 클릭 시 왼쪽 점으로 정의되고, 처음 클릭 후 한번 더 화면 클릭 시 오른쪽점으로 정의된다. 눌려졌는지 아닌지, 눌려졌다면 처음인지, 두번째인지 확인을 위해 bool변수 생성 후 조건문을 실행하게 했다. 여기서 문제가 if - if/ if-else if 사용법 미숙으로 에러가 발생했다. if-if로 코드를 구현하니까 첫 if문을 걸린 후 다음 if문에도 걸려서 점선으로 출력되었다. 이를 해결하기 위해서 if-else if로 수정 후 여러 선택문에서 1개의 if문만 탈 수 있도록 하였다. https://youtu.be/0mZAmCvTZZM

1. 잘못된 코드 2. 1번에 의한 에러 3. 동기 코멘트 정리 : 1. 위 코드처럼 작성한 이유 > 플레이어정보를 메인이 가져있으니 메인에서 플레이어 정보를 가져와서 c를 사용하는 방법을 구현하기 위해서 2. 문제점 > 메인에서 플레이어 정보를 잘못 가져왔다. bullet에 setplayer를 구현해놓고 bullet에 정보를 던져야하는데 정작maingame에서 bullet에 정보를 안던지고 cplayer에 있지않는 setplayer함수에 던져부렸다... > 그리고 위 사진에는 안나왔지만 w/s/a/d키 값은 0x57 등 맞게썼는데 int형으로 바뀌면 87이렇게 되는데 그것을 인지못하고 그냥 57을 넣는것도 문제였음 > 그리고 아래와 같이 코딩함... Player.cpp update()함수에서 이렇게 코..

API를 이용하여 위/아래/좌우로 움직이면서 총쏘는것을 구현하였다... 여러가지 방법을 생각했다. 1. 메인에서 사용자의 정보를 가지고 오자. - 사용자에서 키를 눌렀을때 정보를 총알에 던지면된다! 총알에서 어디로 나갈지 정하니까 - 그래서 메인에서 사용자 주소를 총알에 던지고..총알에서 받고 그 받은것을 또 static_cast를 이용하여 받아보고... - 그리고 사용자에서 키값을 입력받는곳에서 두번 좌표를 설정하게 해부려서 괴물이 탄생됐다... 2. 총알 동적할당을 두번하자. - 이것은 내가 생각하면서도 참 말이안되는 메모리 낭비라 생각했다... 그래서 생각하자마자 접긴했지만... - 이론적으로 생각해도 동적할당을 한것은 좋지만 또 그 주소를 어떻게 할건데!! - 여튼 이런저런 생각으로 접음... 3..
객체를 switch 문을 통해서 위, 아래, 좌우로 움직이게 구현 int _iSpeed = 5; case WM_KEYDOWN: switch (wParam) { case VK_ESCAPE: DestroyWindow(hWnd); break; case VK_LEFT: rc.left -= _iSpeed; rc.right -= _iSpeed; break; case VK_RIGHT: rc.left += _iSpeed; rc.right += _iSpeed; break; case VK_UP: rc.top -= _iSpeed; rc.bottom -= _iSpeed; break; case VK_DOWN: rc.top += _iSpeed; rc.bottom += _iSpeed; break; } break; https://y..

> 사각형 그리기 Rectangle() > 타원 그리기 Ellipse() 위 2개의 함수를 사용해서 사각형, 원을 출력하여 도라에몽을 만들어 봤다. 구현방식 1. 사이즈 정보를 담기 위한 구조체 만들기 #pragma once #ifndef __STRUCT_H__ #define __STRUCT_H__ typedef struct tagInfo { floatfX; floatfY; intiCX; intiCY; }INFO; #endif // !__STRUCT_H__ 2. 구조체 값 초기화 void CPlayer::Initialize() { m_tInfo.fX = _fx; m_tInfo.fY = _fy; m_tInfo.iCX = _icx; m_tInfo.iCY = _icy; m_fSpeed = _fSpeed; } ..