안녕하세요 고도엔진 케릭터 움직이는 부분을 알려드릴게요.
(저도 배워가는 입장이라 내용이 부실할수 있어요)
씬 부분에서 +를 클릭하여 Area2D 노드를 추가 합니다.
Area2D 노트가 추가되면 Area2D를 오른쪽 마우스를 클릭하여
AnimatedSprite,CollisionShape2D 자식 노드로 추가 합니다.
노드를 다 추가하셨으면 AnimatedSprite 노드를 클릭합니다 그러면 하단 익스펙터 창에 프레임 오른쪽 부분을 클릭하면 애니메이션 추가할수 있는 창이 뜹니다.
상하좌우 움직이는것만 확인할것므로 아무 그림이나 추가하셔도 되니 그림을 애니메이션 프레임창으로 드래그엔드랍으로 옮깁니다.
옮기셨으면 씬에서 Area2D 마우스 오른쪽을 클릭 합니다.
스크립트 붙이기를 눌러주세요
C#으로 할거기 때문에 C#을 선택해 줍니다.
public class Player : Area2D
{
[Export] //엑스포트 선언을 해주면 인스펙터 창에서 선안한 변수 조정이가능 합니다
public int Speed = 10;
private Vector2 _screenSize;
}
public override void _Ready()//케릭터가 화면에 들어가면 작동 합니다(유니티로 따지면 Start
{
_screenSize = GetViewport().GetSize(); //스크린해상도를 스크린사이즈 변수에 저장합니다
}
public override void _Process(float delta)
{
var velocity = new Vector2(); // x,y좌표를 넣을 변수를 선언합니다
if (Input.IsActionPressed("ui_right")) {
//프로젝트 -> 포로젝트설정 -> 입력에 보면 ui_right 이미선언되어 있고 사용자가 변경이 가능 합니다
velocity.x += 1; // right 버튼이 누르면 x 좌표갑을 +1 더합니다
}
if (Input.IsActionPressed("ui_left")) {
velocity.x -= 1;
}
if (Input.IsActionPressed("ui_down")) {
velocity.y += 1;
}
if (Input.IsActionPressed("ui_up")) {
velocity.y -= 1;
}
Position += velocity; // 입력된 좌표값을 Position 넣습니다 이 부분이 실제로 케릭터를 움직입니다.
Position = new Vector2(
Mathf.Clamp(Position.x, 0, _screenSize.x),
Mathf.Clamp(Position.y, 0, _screenSize.y)
//케릭터가 화면안에서 움직이도록 제한을 겁니다.
}
다 입력하셨으면 F5를 눌러 실행을 해보세요
방향키 좌우로 상하 눌러보시면 케릭터가 누르신 방향키대로 움직이는것을 확인하실수 있습니다.
https://www.youtube.com/watch?v=wRNFpuMqJlk&t=1s <<프로젝트 생성부터 헬로우 월드 출력 강의영상
'워드프레스' 카테고리의 다른 글
워드프레스 사이트를 안전하게! 필수 보안 플러그인 총정리 (0) | 2024.11.26 |
---|---|
워드프레스 사이트를 안전하게 지키는 백업 플러그인 6종 비교 (2) | 2024.11.20 |
국내외 무료 워드프레스 호스팅 추천: 닷홈과 InfinityFree (1) | 2024.11.20 |
워드프레스 대표 회원관리 플러그인 WP-Members와 Ultimate Member 비교 (0) | 2024.11.01 |
2024년 워드프레스 웹사이트를 빛내줄 최고의 플러그인 10선! (5) | 2024.10.31 |
댓글