2025년 1월 6일 월요일

4. 김치런 게임 BackgroundScroll .cs 소스코드

저처럼 코드 입력하기 싫고 실행을 해보고 싶은 분들,
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);
    }
}


코드 분석

  1. 속도 조절 (scrollSpeed):

    • scrollSpeed는 기본 스크롤 속도를 조절하는 변수입니다.
    • 이 값을 GameManager.Instance.CalculateGameSpeed()와 결합하여 게임의 진행 상황에 따라 스크롤 속도를 동적으로 조절합니다.
  2. MeshRenderer 사용:

    • meshRenderer.material.mainTextureOffset을 이용하여 텍스처의 오프셋을 변경합니다.
    • 이 변경은 배경이 실제로 이동하는 것처럼 보이는 스크롤 효과를 만들어냅니다.
  3. GameManager와 연동:

    • GameManager.Instance.CalculateGameSpeed()를 사용해 게임 진행 속도에 따라 배경 스크롤이 빨라지거나 느려지도록 설정.
    • /20은 스크롤 속도를 조정하기 위한 비율로, 스크롤 속도가 지나치게 빨라지는 것을 방지.
  4. 프레임 독립성:

    • Time.deltaTime을 곱해 프레임 속도에 관계없이 일정한 스크롤 속도를 유지하도록 구현.

코드 동작

  • 매 프레임마다 배경 텍스처의 X축 오프셋이 증가하여 배경이 왼쪽으로 이동하는 효과를 줍니다.
  • 게임 속도가 빨라질수록 배경 스크롤 속도도 빨라지며, 자연스러운 게임 진행을 제공합니다.

댓글 없음:

댓글 쓰기

-


Sidewinder


World


FishMusic


LaughingBaby