프로그래밍 공부
작성일
2023. 8. 10. 02:26
작성자
WDmil
728x90

 

 
 

 

버튼의 부모CLass

진행중인 작업

UI

1. 팝업바 생성

 

진행 예정 작업

 

객체

진영 생성시 객체 위치

전투 생성시 객체 위치

 

전투 AI

1. 전투로직

2. 스킬로직

 

UI

2. 상태창 생성

3. 핸드, 상점, 전장 UI 생성

 

그외

투사체

마우스 위치에 따른 카메라 이동

전투시 자동카메라 이동 설정

적 난이도 생성

상점 카드 생성

 

완료된 작업

기본 마우스 포인터 연동

캐릭터 사망시 삭제처리 연동

HP 표시 [ HP바 재처리 ]

데미지 연산중복 처리

데미지 연산 ( 객체질량 * 운동량 )

OBB충돌처리

각 객체간 부모자식관계 재처리

객체 공격 딜레이

공격시 오브젝트 회전처리

객체 공격

객체 이동

애니메이션 재생

객체 생성

 

마우스 포인터 작업과 버튼의 부모Class를 작업하였음.

마우스 포인터를 NULL로 설정하는 SetCursor(NULL); 을, Update에 놓아야 정상작동하는 버그가 발생함.

왜 그런것인지 확인중.

 

캐릭터 사망시 삭제처리 연동의 오류.

캐릭터 사망시 삭제처리 연동은, std::List의 전체순환 알고리즘을 사용중, 중간에 erase를 사용하게 되면, std::List<Class> def.begin() 이 nullptr을 잡게되는 오류가 발생함.

해결

	std::list<Character*> def_list;

	for (auto def = Character_list.Get()->begin(); def != Character_list.Get()->end(); def++)
	{
		if ((*def)->GetHP() <= 0)
		{
			def_list.push_back((*def));
		}
	}

	if(!def_list.empty()) {
		for (auto def = def_list.begin(); def != def_list.end(); def++)
		{
			Character_list.Get()->remove((*def));
		}
	}

임시 list를 생성하여, 해당되는 리스트를 동작중인 반복문이 아닌, list 배열을 순환하여 해당되는 Class를 Character_list에서 찾아 삭제하는 방식으로 동작시킴.

 

728x90