熱異常 / いよわ
특유의 전자음이 멋지다
오늘은 저번글에서 만든 방향 전환에 맞춰서 플레이어 스프라이트를 적절히 배치해 보자
?????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????
왜 작업물이 초기화 됬지???
????????????
WTF?????
빠르게 다시 복구 완료
하는김에 이전에 생각해둔 호감표 표시 UI도 넣어주자
public TextMeshProUGUI Text;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
Text.text = "호감도 : " + NPCManager.Instance.like;
}
이런 식으로 "호감도 : 숫자"였던 것을
void Update()
{
Text.text = NPCManager.Instance.like.ToString();
}
숫자만 나오게 한다
이제 호감도가 하트 UI안에 숫자로 표시된다
좀 더 직관성이 좋다고 생각한다
이제 플레이어 애니메이션을 설정하러 가자
우선은 상하좌우 4방향에 맞춰서 애니메이터와 애니메이션을 셋팅해준다
이 애니메이션들은 move_check에 따라 다른 애니메이션으로 전환된다
College/GamePrograming/Touhou_game/touhou_script/Player_move.cs at main · NoNamed02/College
Contribute to NoNamed02/College development by creating an account on GitHub.
github.com
애니메이션 사용법은 이전에 내가 작성한 슈팅게임 애니메이션 사용법을 참고하면 된다
private Animator animator;
애니메이터 설정 후
animator = GetComponent<Animator>();
컴포넌트를 가져온다
if(pos_dir == 0)
animator.SetInteger("move_check", 0);
newPosition.y += distanceMoved;
if(pos_dir == 1)
animator.SetInteger("move_check", 1);
newPosition.x += distanceMoved;
if(pos_dir == 2)
animator.SetInteger("move_check", 2);
newPosition.y -= distanceMoved;
if(pos_dir == 3)
animator.SetInteger("move_check", 3);
newPosition.x -= distanceMoved;
이제 setinteger을 사용하여 이동 매커니즘 사이에 애니메이션을 변환하는 변수를 조절한다
의도한대로 움직인다, 근데 애니메이션은 칼같이 전환되지 않는다
이럴때는 transition의 has exit time를 off해주자
원하는 형태로 움직인다
근데 vector는 왜 또 적용이 안되는거지;;
..........................
...................
...........
....
.
if(pos_dir == 0)
animator.SetInteger("move_check", 0);
newPosition.y += distanceMoved;
if(pos_dir == 1)
animator.SetInteger("move_check", 1);
newPosition.x += distanceMoved;
if(pos_dir == 2)
animator.SetInteger("move_check", 2);
newPosition.y -= distanceMoved;
if(pos_dir == 3)
animator.SetInteger("move_check", 3);
newPosition.x -= distanceMoved;
나는 바보입니다
당연히 if문을 {}로 엮지 않았으니 작동하지 않는 것 이다
if(pos_dir == 0){
animator.SetInteger("move_check", 0);
newPosition.y += distanceMoved;}
if(pos_dir == 1){
animator.SetInteger("move_check", 1);
newPosition.x += distanceMoved;}
if(pos_dir == 2){
animator.SetInteger("move_check", 2);
newPosition.y -= distanceMoved;}
if(pos_dir == 3){
animator.SetInteger("move_check", 3);
newPosition.x -= distanceMoved;}
transform.position = newPosition;
다시 엮고 테스트
잘움직인다