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
- 비주얼스튜디오 코드 폰트
- c++
- 백준
- 한글 가운뎃점
- 티스토리전체글수
- 티스토리 전체글수표시
- 도선생님 신경론
- 앤드류 테이트
- 언리얼
- 도파 신경론
- 스팀 돈얼마나 썼는지보기
- 어도비플래시서비스종료
- 자바메모
- Class1
- 스팀 사용 금액
- 티스토리 코드블록
- 명언
- 가운뎃점 입력
- 신경론
- 티스토리사진
- 쿠르츠 게작트
- 티스토리사진한줄에 여러개
- 롤에 돈얼마나썼지
- 어도비플래시삭제
- 롤 현질얼마나 했는지보기
- 비주얼스튜디오 코드 글꼴
- 스팀에 돈 얼마나 썼지
- 게임 네트워킹
- 롤 현질금액보기
- 자바스크립트 defer
Archives
- Today
- Total
Small Step
[언리얼,C++] 언리얼 C++ 공부 정리(베르 - 함수, 블루프린트, 입력) 본문
함수를 제작해 블루프린트에서 호출
그냥 만들어진 함수는 블루프린트에서 호출하려해도 컨텍스트 메뉴에서 안보임.
변수에서 UPROPERTY 매크로를 썼던 것 처럼 함수에서 UFUNCTION 매크로를 사용.
UFUNCTION에서
BlueprintCallable : 해당 함수를 블루프린트에서 사용 가능.
블루프린트에서 사용할 모든 함수에는 카테고리를 할당해줘야 정상적으로 이용가능.
만든 클래스를 기반으로 블루프린트를 다시 만든다.
//MyActor02.cpp
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyActor02.h"
// Sets default values
AMyActor02::AMyActor02()
{
// 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;
}
// Called when the game starts or when spawned
void AMyActor02::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void AMyActor02::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
void AMyActor02::InputSpaceKey(bool Pressed)
{
bPressedKey = Pressed;
}
void AMyActor02::MoveUp(float DeltaTime)
{
if (bPressedKey)
{
FVector Location = GetActorLocation();
Location += FVector::UpVector * 980.0f * DeltaTime;
SetActorLocation(Location);
}
}
//MyActor02.h
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyActor02.generated.h"
UCLASS()
class BERL02_API AMyActor02 : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AMyActor02();
bool bPressedKey;
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
UFUNCTION(BlueprintCallable, Category = "Move")
void InputSpaceKey(bool Pressed);
UFUNCTION(BlueprintCallable, Category = "Move")
void MoveUp(float DeltaTime);
};
클래스를 선택하고 클래스 기반 블루프린트 제작 가능.
프로그래머가 블루프린트에서 호출할 수 있게 핵심 기능을 가진 함수를 만들고 디자이너가 이를 조합해 게임 기능을 만든다.
언리얼에서 입력은 액션 입력과 축 입력으로 나누어짐.
액션 입력 : 마우스 버튼, 스페이스 바, 키보드 입력등등 눌렀다 떼는 입력
축 입력 : 이동이나 마우스 좌표같은 연속적인 값을 가지는 입력
입력 맵핑(키 입력에 대한 이름)을 하고 기능과 연결해줌 이 과정을 바인딩이라고 함.
편집 - 프로젝트 세팅 - 입력에서 맵핑 가능
폰클래스가 부모인 C++클래스 제작
폰 : 언리얼에서 Ai나 플레이어가 조작할 수 있는 오브젝트
이제 언리얼 배터리 콜렉터를 해봐야겠다.
'언리얼' 카테고리의 다른 글
[언리얼, 블루프린트] 공부 정리 - [공식 튜토리얼] 블루프린트 핵심 개념 (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