오늘은 드디어 델타 값에 대하여 배웠습니다.
delta 값이란 ~ 특정 움직임에 무조건 곱해 줘야 하는 것이에요.
델타 값을 출력한 예입니다. 값이 거의 똑같죠?!
그리고 delta 를 곱해주어 코드를 수정해 주었습니당.
왜냐하면!!!!!!!!
사양이 좋은 컴퓨터와 안 좋은 컴퓨터에서의 물리적인 시간이 같아도 이동하는 양이 다를 수 있기 때문에 사용하는 것입니다!
process 는 while 문이 true 일 때 안에서 실행돼요! 그래서 버튼을 누르고 있으면 계속 실행됩니당. 왜냐하면 이 또한 while 문이 true 가 되니까요!!!!!
그래서 delta 값을 이용하면 사양과 관계 없이 같은 시간에 같은 이동량을 가질 수 있습니다.
최종적으로는 이동된 픽셀량만 같으면 해결되는 것이지요~
예를 들면 엄청 안 좋은 사양의 컴퓨터는 캐릭터가 뚝뚝 끊기며 이동하지만 원하는 위치로 이동하고,
엄청 좋은 사양의 컴퓨터는 캐릭터가 엄청 부드럽게 이동하여 원하는 위치로도 이동합니다.
원하는 위치로 이동하는 것은 똑같지만, 속도에서는 차이가 납니다!
우선 Sprite2D 는 스프라이트이며, AnimateSprite2D는 스프라이트 시트를 사용합니다.
원래 저희는 Sprite2D 를 사용했었는데 이젠 AnimateSprite2D 를 사용할 거예요!
어찌저찌 여러 버튼을 클릭해서 이동 후
이 화면으로 오게 되었다면 행과 열을 알맞은 값으로 수정해준 후 Select All 을 눌러 클릭해 줍니다.
이미 저는 수정하고 난 후라 저렇게 완벽하지만, 값에 알맞는 행과 열을 입력해 주셔야 해요!
그럼 이러한 화면이 뜨게 됩니다.
자동으로 실행해 주기 위해 쓰레기통 옆에 있는 버튼을 클릭해주시고(Auto Start),
무한루프를 설정해 주기 위해 그 옆에 있는 반복 표시를 클릭해 줍니다.
캐릭터가 뛰어다니는 모션도 이와 똑같이 해주되, 자동으로 실행되는 것은 막습니다! (즉, Auto Start 클릭 X)
게임에 처음 들어갔을 때 모션은 헐떡이는 모션이기 때문이죠!!!! 여기서 그 옆인 FPS 숫자를 크게 해주면 속도가 빨리지고, 반복 속도를 늘리게 됩니당.
그리고 사이즈를 조정해 주기 위해 scale 이라는 값을 늘려주었습니당 헤헷.
요기서 이미지 발 끝을 맞춰주기 위해 화살표 방향키(up)를 이용해 주었구요! Position y 가 -40 이 되면 됩니다.
그리고 새로운 Game 이라는 노드를 만든 후 player 씬을 끌어당기기 해주면 저희가 자동 설정한 팔딱이는 모션이 화면에 뜨게 됩니다.
여기서 물론 F6 를 눌러 현재 파일을 실행할 수 있지만 너무 귀찮으니 Main Scene 자체를 바꿔주었습니다!
위 사진에 해당하는 곳에 들어가서 바꿔주시면 됩니당.