작성
·
338
0
비슷한 질문을 2번 드려서 죄송합니다.
도저히 이해가 안되고 어디서 물어볼 방법도 없어서 실례를 무릅쓰고 2번이나 질문 드립니다.
백터 이동같은 복잡한것 보단 단순한 인티저 값으로 테스트를 진행 했습니다.
구조체 블루프린트를 만들고 HP라는 값을 만들고 500을 입력했습니다.
레벨 블루프린트는 이렇게 작성했습니다.
키보드 4번을 누르면 HP값이 20씩 줄어들도록 했습니다.
일단 레벨 블루프린트에 작성한건 정상적으로 작동이 됩니다.
4번을 갈겼더니 실시간으로 수치가 줄어듬을 확인했습니다.
일단 구조체와 블루프린트 자체는 정상적으로 작동합니다.
폰 블루프린트에, 이 구조체 값을 받아서 출력 해봤습니다.
레벨 블루프린트의 프린트 텍스트와, 폰 블루프린트의 프린트 텍스트를 동시에 작동하도록 했습니다. 대신 폰 블루프린트의 텍스트는 빨강색으로 표시됩니다.
일단 둘 다 초기값인 500을 받아서 정상적으로 출력됨을 확인하였습니다.
4번을 갈겼더니 레벨 블루프린트의 값은 정상적으로 줄어드는데
폰 블루프린트의 값은 변하지 않고 그대로 500으로 표시됩니다.
폰 블루프린트는 이 변화된 값을 받지 못하고 있습니다.
왜 이러는지 도저히 모르겠습니다.
제발 이 주제에 대해 한번만 더 가르침을 구합니다.
답변 2
1
흠 약간 총체적 난국이군요.
Level Blueprint에 HP란 변수를 만들고 그 수치를 고쳤다고,
다른 객체의 동일한 이름 (HP)을 가진 변수의 값이 바뀌는게 아닙니다.
원하시는 것처럼 미사일 객체의 HP를 수정하려면 LevelBlueprint에서 다음과 같이 해야 합니다.
4키 누르는 것을 바로 미사일 Blueprint에 넣어서 시도하는 것도 고려할 수 있으나,
기본적으로 언리얼은 Input을 아무 Pawn이나 받는 것이 아니라서
아래와 같이 Possess 0을 설정해주는 것이 필요합니다.
0
저도 계속 말씀드리지만 위 내용만으로는 알기가 힘듭니다.
이 부분은 디버깅의 영역이고 무엇을 잘못하신지는 전체 프로젝트를 봐야 합니다.
가령 저 부분에 BreakPoint를 걸고 들어오는지는 확인해봐야겠죠.
그리고 Actor를 단순 배치만 하면 안 되고,
WorldSettings의 Pawn 설정 했는지 등도 확인해봐야 합니다.
전체 프로젝트 압축해서 rookiss@naver.com로 보내주세요.