Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 티스토리 코드블록
- 도선생님 신경론
- 티스토리 전체글수표시
- Class1
- 앤드류 테이트
- 티스토리사진
- 롤 현질얼마나 했는지보기
- 스팀에 돈 얼마나 썼지
- 명언
- 롤에 돈얼마나썼지
- 언리얼
- 비주얼스튜디오 코드 글꼴
- 비주얼스튜디오 코드 폰트
- 가운뎃점 입력
- 자바스크립트 defer
- c++
- 롤 현질금액보기
- 스팀 사용 금액
- 어도비플래시서비스종료
- 한글 가운뎃점
- 자바메모
- 게임 네트워킹
- 스팀 돈얼마나 썼는지보기
- 백준
- 티스토리사진한줄에 여러개
- 어도비플래시삭제
- 쿠르츠 게작트
- 티스토리전체글수
- 신경론
- 도파 신경론
Archives
- Today
- Total
Small Step
[언리얼,C++] 언리얼 C++ 공부 정리(베르 - 함수) 본문
언리얼 프로그래밍에서 사용되는 모든 자료형은 반환형으로 사용 가능.
변수는 전 코드를 이용.
함수 선언, 구현
헤더파일에서 먼저 클래스에 새로 생성할 함수의 원형을 적어 알려줌(선언).
함수를 구현할 때는 클래스이름::함수이름을통해 구현해줌.
PostInitProperties() : 오브젝트의 변수가 초기화될 때 호출되는 함수.
PostEditChangeProperty() : 변수가 수정될 때 호출되는 함수.
초록색 밑줄이 그어진 함수 이름에 커서를 두고 Ctrl + . 단축키
정의 만들기 선택을 통해 빈 함수 구현을 에디터가 해줌.
언리얼 C++ Super 키워드 : 상속받은 부모 클래스에 있는 원본 프로퍼티나 함수를 가져오는 데 사용.
여기 부분은 전체적으로 더 찾아보고 공부해봐야겠다.
C++ 자체에 대한 이해가 적은 것 같기도 하고 더 알아봐야겠다.
//MyActor01.cpp
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyActor01.h"
// Sets default values
AMyActor01::AMyActor01() : TotalDamage(400), DamageTimeInSeconds(2.5f)
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
UE_LOG(LogTemp, Log, TEXT("Constructor"));
//DamagePerSecond = TotalDamage / DamageTimeInSeconds;
//함수 영상에서 기본값 지정 X
CharacterName = TEXT("Nickname");
bAttackable = true;
}
// Called when the game starts or when spawned
void AMyActor01::BeginPlay()
{
Super::BeginPlay();
UE_LOG(LogTemp, Log, TEXT("BeginPlay"));
}
// Called every frame
void AMyActor01::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
//UE_LOG(LogTemp, Log, TEXT("Tick"));
}
void AMyActor01::CalculateDPS()
{
DamagePerSecond = TotalDamage / DamageTimeInSeconds;
}
void AMyActor01::PostInitProperties()
{
Super::PostInitProperties();
CalculateDPS();
}
void AMyActor01::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
{
CalculateDPS();
Super::PostEditChangeProperty(PropertyChangedEvent);
}
//MyActor01.h
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyActor01.generated.h"
UCLASS()
class BERL02_API AMyActor01 : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AMyActor01();
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Damage")
int32 TotalDamage;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Damage")
float DamageTimeInSeconds;
UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Transient, Category = "Damage")
float DamagePerSecond;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FString CharacterName;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool bAttackable;
void CalculateDPS();
virtual void PostInitProperties() override;
virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
};
실행을 해보면 디테일 패널에서 값을 바꿀 때마다 유동적으로 계산되어 값이 바뀐다.
'언리얼' 카테고리의 다른 글
[언리얼, 블루프린트] 공부 정리 - [공식 튜토리얼] 블루프린트 핵심 개념 (0) | 2022.08.08 |
---|---|
[언리얼, 머티리얼] 공부 정리 - [공식 튜토리얼] 머티리얼 핵심 개념 (0) | 2022.08.08 |
[언리얼,C++] 언리얼 C++ 공부 정리(베르 - 함수, 블루프린트, 입력) (0) | 2022.08.06 |
[언리얼,C++] 언리얼 C++ 공부 정리(베르 - 1.변수, UPROPERTY) (0) | 2022.08.06 |
[언리얼,C++] 언리얼 C++ 프로그래밍 입문(베르 유튜브 0) (0) | 2022.08.05 |
Comments