using UnityEngine;
// 왼쪽 끝으로 이동한 배경을 오른쪽 끝으로 재배치하는 스크립트
public class BackgroundLoop : MonoBehaviour {
private float width; // 배경의 가로 길이
private void Awake() {
// 가로 길이를 측정하는 처리
BoxCollider2D boxCollider = GetComponent<BoxCollider2D>();
width = boxCollider.size.x;
}
private void Update() {
// 현재 위치가 원점에서 왼쪽으로 width 이상 이동했을때 위치를 리셋
if(transform.position.x <= -width)
{
Reposition();
}
}
// 위치를 리셋하는 메서드
private void Reposition() {
Vector2 offset = new Vector2(width * 2f, 0);
this.transform.position = (Vector2)transform.position + offset;
}
}
BackgroundLoop.cs
using UnityEngine;
// 게임 오브젝트를 계속 왼쪽으로 움직이는 스크립트
public class ScrollingObject : MonoBehaviour {
public float speed = 10f; // 이동 속도
private void Update() {
// 게임 오브젝트를 왼쪽으로 일정 속도로 평행 이동하는 처리
transform.Translate(Vector3.left*speed*Time.deltaTime);
}
}
ScrollingObject.cs
반응형
'산대특 > 게임 플랫폼 응용 프로그래밍' 카테고리의 다른 글
Unity3D에서 Rigidbody로 키보드(상하좌우) 입력 받아 이동하기 (0) | 2024.03.06 |
---|---|
Animation Curve를 이용해서 점프 구현해보기 (0) | 2024.03.05 |
Quaternion으로 Player 주변에 위성 만들어보기 (0) | 2024.03.05 |
유니티 공식 오브젝트 풀링 API로 총알(Bullet) 프리팹 관리하기 (0) | 2024.03.04 |
Bullet 발사 시에 오브젝트 풀링으로 Bullet 관리하기 (0) | 2024.03.04 |