목록분류 전체보기 (110)
SYeonni Study Room
개인 API 포트폴리오 진행 시 자식에게있는 함수 쓰는거 어려워서...아니 몰라서 Obj 부모에 다 몰아넣었는데 팀프로젝트 하면서 static_cast를 사용하면 나중에 함수 찾고 사용하기 편하다(그 자식만 쓸경우)
API 게임 모작 쿠키런 팀프로젝트로 진행 내가 맡은 기능 : 아이템 , UI, 플레이어 상호작용 등 구현한 기능 - 아이템 1. 부스트 : 일정 시간 가속력 붙는다. 2. 커지기 : 일정 시간 크기가 커진다. 3. 자석 : 일정 시간 젤리/코인을 끌어당김 4. 생명 : 일정 HP 회복 5. 젤리 6. 코인 - 모바일 게임 으로 스테이지 들어가기전까지 실제 디바이스 시작처럼 만들었음 - 스테이지 진입 후 실제 인게임과 비슷하게 구현하기 위해 노력함 느낌점 - 혼자 진행했던 이전 API 보다 다른 사람의 코드를 보고 같이 취합하는 과정에서 효율적인 방법들을 많이 배웠다. 같은것을 구현해도 각자 다른방법들이 있어서 그부분에서 신선하고 좋았다. - 최적화 하는것이 어렵다.. 이부분은 더 공부해야할듯하다. - ..

211...이번 API게임 만들면서 수백번. 수천번은 봤다. 오류 발생이유 : 없는것을 가져오라해서 예) 생성하지 않았거나, 생성 후 삭제되었든 등등 list안에 없는것을 출력하라고 해서 발생했다. 나같은경우는 다른 객체의 주소를 가져오라는것에서 많이 발생했다 >플레이어를 참조하고 있는 몬스터, 무기 등등 많은 객체가 있는데 플레이어가 있을 경우와 죽었을경우를 대비해서 예외처리 안해줘서 발생 해결 법 > if(타켓이 있을경우) 실행해라! 이렇게 코드를 수정 후 실행 시 문제없이 게임 진행이 가능하다.

모작 게임 : 닌자키드 2 주인공 : 닌자쿤 무기 : 표창/부메랑/폭탄/불 몬스터 : 고블린/ 블랙닌자/아수라(최종보스) 스테이지: 3개의 스테이지 - 1스테이지 : 무기변경/ 구름타기/ 위,아래점프/ 몬스터 스토킹 / 죽이기/ x축 스크롤 적용 - 2스테이지 : 벽타기/ 바위밀기/ y축 스크롤 적용/ 몬스터, 플레이어 무기 충돌 시 삭제 - 3스테이지 : 보스 (쉴드/박쥐/붉은나방) 사용 *기술 상세 1. 무기 1-1 변경 : 방향기 ↑ UP키를 누르면 무기를 변경 및 선택할 수 있다. 무기 선택 후 A키를 누르면 공격 1-2 종류 : 표창 > 일정거리 도달 후 사라진다. 폭탄 > 사정거리는 짧지만 파괴력이 좋다. 부메랑 > 일정 거리 도달 후 플레이어에게 다시 돌아온다. 불 > 닌자군을 중심으로 회전..

기능 구현 한개한개 할때마다 저장하고 있다.. 하나 하고 아..괜찮으니 또해야지 하고 하다보면 원래 구현해둔것에서 추가하거나 변수를 바꾸거나 등등 많은 일들이 일어나서 되돌리고 싶어도 못되돌렸다.. 사실 다른글에서 -로인한 문제도 위와같이 백업안하고 괜찮다고 하면서 계속해서 못되돌렸지만 그전에도 계속 백업했지만 -를 못찾은 이후로 사진처럼 백업 강박증 생겼다..ㅎ

몬스터 이동 시 왼쪽부터 이동하도록 Speed에 - 부호를 붙여 구현하였다. 그래서 오른쪽으로 갈때는 -로 곱해줬어야 했지만 그냥 정수 1을 곱하였다. 디버깅 미숙으로 중단점도 잘못걸어서 문제의 부분을 찾는데 시간이 좀 걸렸다. 이걸로 몇시간을 소비했다.. 진짜 다시보고 다시봐도 못찾았다 집중을 못한것도 있지만 이렇게 사소한것을 놓쳤다. 앞으로 잘해야지... 생각해야지 진짜 어이없지만 한편으론 좀 ㅂㅌ같은 발언일수있는데 코드가좋아진다...ㅎ 코드는 거짓말하지않고 내가한그대로 나온다 아 점점 좋아지는듯 하지만 어느순간 또 싫다하겠지만 ㅋㅋ 그리고 오늘 또 느낀것이 내 코드는 내가 직접짜고 도움받아도 내것으로 만들어야겠다. 아 맞겠지라는 생각으로 그냥 흘린거같다.. 정말 코딩은 배울수록 신기하다. 그냥 신기..
아무것도 클릭하지 않은 상태에서 사용자가 처음 클릭 시 왼쪽 점으로 정의되고, 처음 클릭 후 한번 더 화면 클릭 시 오른쪽점으로 정의된다. 눌려졌는지 아닌지, 눌려졌다면 처음인지, 두번째인지 확인을 위해 bool변수 생성 후 조건문을 실행하게 했다. 여기서 문제가 if - if/ if-else if 사용법 미숙으로 에러가 발생했다. if-if로 코드를 구현하니까 첫 if문을 걸린 후 다음 if문에도 걸려서 점선으로 출력되었다. 이를 해결하기 위해서 if-else if로 수정 후 여러 선택문에서 1개의 if문만 탈 수 있도록 하였다. https://youtu.be/0mZAmCvTZZM

define을 include.h에 다 포함시키고 건드린게없는데 자꾸 define을 인식할수 없다고 오류가 뜬다. 그래서 처음부터 다시 작성해볼려했다... 하지만 적어온게 아까워서 다시 확인하다가 cpp파일 #include 할때 define.h를 먼저 작성한게 아니라 현재cpp파일의 헤더를 작성해서 순서가 바뀌어서 인식을 못했던것이였다. 그래서 다시 define.h가 포함된 .h를 위로 올려 순서를 바꾸었다. 그 결과 >> 잘 실행된다. 이렇게 다시한번 순서의 중요성을 깨닳고 문제가있으면 그냥 다시 쳐야지보다 오늘처럼 문제가 왜 발생됐는다시 확인하는 방법을 먼저 추구해야겠다.
윈도우 API로 포토폴리오를 만든다. 게임을 모작해서 만드는 방법이다. 1. 게임정하기 >> 원래 원더보이를 하려했으나 게임을 정하면서 계속해서 알아보니 닌자키드가 좀더 볼거리가많은듯해서 게임 변경.. >> NinjaKid2 로 최종확정! 2. 게임기능 익히기 >> 게임다운 완료 >> 시간날때마다 게임 플레이진행 3. 게임 제작 >> 이미지 모으기중 >> 06.14 이미지 모으기 완료! 크게 3가지로 나뉘었다. 21.05.30 기준 1번 게임정하기는 끝났다. 2번 게임 기능 익히기는 틈틈이 해놓기 ! 필요한 기능들 미리 체크해두기

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..