본문 바로가기

Programming

[앨] 1.CollisionTest 유니티 엔진은 물리를 적용 해주는 엔진이다. 간단히 Rigidbody를 추가해서 사용할수도 있다. RigidBody란 오브젝트에 물리적인 특성을 부여하는 컴포넌트이다. 외부에서 힘을 주어 이동시키는 오브젝트는 반드시 리지드바디 컴포넌트를 추가해야한다. Mass - 질량. 질량이 작을수록 더 빨리 움직이고, 더 멀리 움직인다. Drag - 저항. 이 값이 크면 속도가 떨어진다. Angular Drag - 회원 운동 저항. 이 값이 0이면 한없이 굴러간다. Use Gravity - 중력 사용 여부 Is Kinematic - 관절 운동 처리 여부 Collision Detection - 물체의 연속적인 충돌을 검사하는 방법 오늘 테스트 할거는 같은 Rigidbody를 가지고 있지만 Collider의 피직스메테리.. 더보기
스케줄 배경씬 띄우기 플레이어 구현 몬스터 구현 플레이어,몬스터 기본 애니메이션 몬스터 랜덤좌표 배치 몬스터 타격 몬스터 이동 사운드 구현 스킬구현 콤보구현 보스구현 스테이지2 이동 12월 15일 현재상황 배경씬 띄우기 (완료) 로딩 , 메뉴, 게임 씬으로 구분 플레이어 구현 (완료) 몬스터 구현 (완료) 플레이어,몬스터 기본 애니메이션 (완료) 2.5는 액션으로 에니메이션을 구현한다. 몬스터 랜덤좌표 배치 (완료) 매니져와,몬스터간의 구분 확실히 해야됨. 더보기
[MFC] 마우스 이벤트 마우스 이벤트 (LBUTTONDOWN,MOUSEMOVE,LBUTTONUP)등 해당 이벤트들은 클래스 뷰를 통해서 쉽게 불러올수 있다. 클래스뷰어서 호출하면 각각 의 함수가 호출된다. 편리하게 이용할수있다. ​ 간단한 예제 ![마우스가 이동하면 그곳 좌표를 호출해주는 프로그램을 짜보자!] ​ ​OnMouseMove함수를 호출하자. 그리고 좌표값을 담을수있는 CPoint m_pos를 만들자. ​ OnPaint에서 당당하게 좌표값을 출력해주면 끝!! 너무 쉽다~~편리하다~~빠르다.. 마우스 이동에따른 좌표값을 호출한다. 참고로 좌표값은 윈도우 화면 전체의 좌표값이아닌 문서상의 윈도우 창에대한 좌표값이다. LBUTTONDOWN,LBUTTONUP 역시 같은 방법으로 호출하여 쓰기만하면 된다.~ 더보기
[MFC] MFC의 정의와 사용법 MFC[Microsoft foundation class] 윈도우용 응용 프로그램의 통합 개발 환경인 마이크로소프트 비주얼C++에 부속되는 클래스 라이브러리,윈도우 응용 프로그램 작성에 유용한 많은 클래스를 제공한다. 기존에 사용했던 API의 GUI환경을 좀더 쉽게 사용하기 위한 라이브러리다. ​ C와 C++과는 달리 API는 이벤트 처리,메세지 처리 기반의 프로그램이다. 이러한 이유로 MFC역시 이벤트,메세지 처리 기반의 프로그램이다. ​ ​새 프로그램을 생성할때 MFC응용프로그램을 생성한다. ​ ​ 일단 단일문서로 만들면된다. 단일문서는 고유의 작업환경 기반의 문서이다. 다중문서는 탭기반의 문서환경이고 대화상자기반은 버튼기반의 작업환경이라고 생각하면된다. 상황에 따라 다중문서와 대화상자 기반으로 사용하.. 더보기
vitual 가상함수 가상 함수 가상함수는 기본 클래스에서 virtual 로 선언되고 파생클래스에서 재정의 되는 함수다. 따라서 각 파생클래스는 자신만의 가상 함수 버전을 가질 수 있다. base와 first_d ,second_d모두 who()라는 함수를 각각 호출할수있다. base에서 who()는 가상함수로 선언된다. 이것은 이 가상함수가 파생클래스에 의해 재정의 될 수 있음을 의미한다. 그리고 기본 클래스 포인터는 파생 클래스의 객체를 참조할 수 있다. 그래서 who()가 호출될 때, C++는 p가 어느 형의 객체를 가리키고 있는지 확인하고 그 형에 근거하여, 어느 버전의 who()를 호출할 것인가를 결정한다 만약 가상함수가 아닌 일반함수로 선언되면... 결과를 보면 앞선 결과와는 전혀 다른 값이 출력된 것을 볼 수 있다.. 더보기
10월 29일 일일보고서 Hero.cpp 타격포인트 싱글톤으로 주고받기 Enemy.cpp 더보기
10월 28일 작업보고서 Enemy cpp파일.. 흰색 512.png를 띄운후 50,50사이즈의작은 사각형을 만들고 흰색으로 체운다. EnemyManagr.cpp 5개의 Enemy를 생성해준다. 위치는 랜덤값을넣어서 실행. 히어로역시 Enemy와 같은박법으로 생성 히어로의 타격포인트를 잡아준다... 여기서 문제다..어택메세지를 주고받는데서 문제가 생김..해결요망.. 코어 생성이 너무너무 해깔린다.아직까진... 조금 더 봐야 알겠지만.일단 문제가 생긴 타격 포지션 값을 주고받는 방법을 다른방법으로 생각해보장. 더보기
10월 28일 일일보고서 Hero와 Enemy를 만들어서 타격시 Enemy의 색을 붉은색으로 만든다음 1초후 다시 흰색으로 돌린다.!! 타격 포인트를 설정하여 타격포인트와 Enemy의 거리를 체크....쿵~~빨개요~~다시 하예요로 만든다. 더보기
10월 27일 작업보고서 좌우 타격 구현,배경,캐릭 애니메이션 구현,배경 스크롤 구현, 좌우 타격구현은 성공, 하지만 배경애스크롤 실패.. 배경 을 2종으로 설정했을시 같이 움직여버리는 오류 .... 좀더 연구연구. void Obj_Hero::update(float dt) { m_bAttackDirection=false; int HeroPositionX = this ->getPosition().x ; if(m_iDirection == VK_LEFT) m_pATPoint = HeroPositionX - 100; else m_pATPoint = HeroPositionX + 100; if(GetAsyncKeyState(VK_RIGHT)) { m_iDirection = VK_RIGHT; this->setFlipX(false); } if.. 더보기
10월 24일 일일 보고서 현재 캐릭을 띄우고 타격구현을 위하여 기초 작업을 시작했다. 1.기본 윈도우창 사이즈를 구현한다. 2.배경 을 띄운다. 3.배경에 Hero와 Enemy를 각각 하나씩 붙여넣는다. 4.캐릭터 좌우로 움직이게한다. 5.캐릭터 앞 포지션에 타격rectangle을 띄운다. 6.타격할때마다 recteangle의 색을 바꾸게한다. 1,2,3,4성공 5,6, 실패. 실패요인 1.배운건 cocos2d-x0.9 버젼이였는데 내가 현재 포토폴리오로 제작할려는 버젼은 2.0.4버젼이다. 실수한거 같다. 기능만 추가된줄알았는데 함수나 매개변수가 없다.ㅜㅜ 2.그래도 책이 2.0.4버젼이니까 최대한 도움을 받자는 생각으로 했으니 책역시 모바일,맥전용으로 설명되어있어서 조금은 힘들다. 3.그래도 고통과 인내의 시간을 지나면서 하.. 더보기