포인터
Zombie 클래스 enemy가 존재하고 변수 int Hp = 100이 존재해서 Player 클래스에서 해당 HP를 깎도록 하고 싶은 경우
Zombie* zombie_enemy(변수이름) = enemy;
zombie_enemy->hp -= 30;
& <= 변수의 주소
* <= 주소(포인터변수) 안의 값
Visual Studio 2022 설정시 주의사항
여러 업데이트로 인해 망가질 수 있으므로, 프로젝트 파일은 백업하기.
처음 생성시 빈 프로젝트로 C++로 생성하는 게 좋음.
Tool - New C++ Class 를 통해 정상 작동 여부 확인.
경로에 한글이 있으면 에러가 발생할 수 있음.
C++프로젝트 만들고 비주얼 스튜디오가 컴파일할 시간을 줘야 함.
새로운 프로젝트를 만들거나, 재부팅을 하는 것으로 해결 될 수 있음.
1. 윈도우 업데이트 확인.
2. Visual Studio Installer 업데이트 확인.
3. Visual Studio Installer - 수정 - 설치 확인
4. Unreal 통합 구성
청사진 지원, 테스트 어댑터 상태에 문제가 없어야 함.
5. visual studio플러그인 확인
6. Tools - Refresh Visual Studio
7. Binaries, DerivedDataCache, Intermediate, Saved 삭제 후,
uproject파일 오른쪽 클릭 - 추가 옵션 표시 - Generate Visual Studio project files
사용하면 좋은 설정
도구 - 옵션 - 환경 - 일반 => 색테마 어둡게,
도구 - 옵션 - 환경 - 글꼴 및 색 => Consolas (0, O, 1, i, i, ㅣ 구분)
도구 - 옵션 - 텍스트 편집기 - 모든 언어 - 일반 - 줄 번호 체크
C++ 파일 생성
Tools - New C++ Class - Parent Class 정하기 - Next
만들 클래스 이름 정하기, Path옆에 폴더 눌러서 위치 정할 수 있음.
Source에 Player폴더를 만들어 Test를 만든 모습
Test.h
헤더파일 : 내가 사용할 것을 미리 정의한다라는 느낌.
ATest() => BeginPlay() => Tick() 순서
Test.cpp
구조체
Class와 비슷하지만, 상속하지 않는다는 차이가 있다.
언리얼 내의 F로 시작하는 FString, FColor 등은 구조체이다.
GEngine->AddOnScreenDebugMessage()
화면 상에 메시지를 표시
UE_LOG()
Printf 사용시 : print format
헤더 파일 내에 변수를 매개 변수로 사용할 경우에, 함수를 사용할 때 받아오는 값인지 아니면 함수 내의 변수인지 구분이 안되기 때문에, 변수의 이름과 매개변수의 이름이 겹치면 안된다.