저처럼 코드 입력하기 싫고 실행을 해보고 싶은 분들,
Ctrl+C, Ctrl+V 복사 붙여넣기 해서 사용하세요.
한 번 실행해 보면 유니티 구조적 이해에 많은 도움됩니다.
김치런 튜토리얼 영상 링크
https://www.youtube.com/watch?v=A58_FWqiekI
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BackgroundScroll : MonoBehaviour
{
[Header("Settings")]
[Tooltip("속도 조절")]
public float scrollSpeed; // 배경 스크롤 속도 조절 변수
[Header("랜더러")]
public MeshRenderer meshRenderer; // 배경에 적용된 Material을 가진 MeshRenderer
// Start is called before the first frame update
void Start()
{
// 초기화 코드 (현재 비어 있음)
}
// Update is called once per frame
void Update()
{
// 배경 텍스처 오프셋 변경을 통해 스크롤 효과 구현
meshRenderer.material.mainTextureOffset +=
new Vector2(scrollSpeed * GameManager.Instance.CalculateGameSpeed() / 20 * Time.deltaTime, 0);
}
}
코드 분석
속도 조절 (
scrollSpeed
):scrollSpeed
는 기본 스크롤 속도를 조절하는 변수입니다.- 이 값을
GameManager.Instance.CalculateGameSpeed()
와 결합하여 게임의 진행 상황에 따라 스크롤 속도를 동적으로 조절합니다.
MeshRenderer 사용:
meshRenderer.material.mainTextureOffset
을 이용하여 텍스처의 오프셋을 변경합니다.- 이 변경은 배경이 실제로 이동하는 것처럼 보이는 스크롤 효과를 만들어냅니다.
GameManager와 연동:
GameManager.Instance.CalculateGameSpeed()
를 사용해 게임 진행 속도에 따라 배경 스크롤이 빨라지거나 느려지도록 설정./20
은 스크롤 속도를 조정하기 위한 비율로, 스크롤 속도가 지나치게 빨라지는 것을 방지.
프레임 독립성:
Time.deltaTime
을 곱해 프레임 속도에 관계없이 일정한 스크롤 속도를 유지하도록 구현.
코드 동작
- 매 프레임마다 배경 텍스처의 X축 오프셋이 증가하여 배경이 왼쪽으로 이동하는 효과를 줍니다.
- 게임 속도가 빨라질수록 배경 스크롤 속도도 빨라지며, 자연스러운 게임 진행을 제공합니다.
댓글 없음:
댓글 쓰기