유니티 C# 간단한 방치형 클리커 게임 만들기 예시 구현 Unity Idle Game

반응형

코드 작성

using System.Collections;
using UnityEngine;
using UnityEngine.UI;

public class ClickerGame : MonoBehaviour
{
    // UI 요소들을 연결할 변수들
    public Text scoreText;        // 점수를 표시하는 텍스트
    public Text perSecondText;    // 초당 점수 표시 텍스트
    public Button clickButton;    // 클릭 버튼
    public Button upgradeButton;  // 업그레이드 버튼

    // 게임에서 사용할 변수들
    private int score = 0;                // 현재 점수
    private int clickPower = 1;           // 클릭 당 점수
    private int upgradeCost = 10;         // 업그레이드 비용
    private int upgradePower = 2;         // 업그레이드로 얻는 클릭 파워 증가량
    private float perSecond = 0.0f;       // 초당 생산되는 점수

    void Start()
    {
        // 버튼 클릭 시 실행할 함수들을 설정
        clickButton.onClick.AddListener(OnClick);
        upgradeButton.onClick.AddListener(UpgradeClickPower);
        
        // 초당 점수 증가 코루틴 실행
        StartCoroutine(PerSecondProduction());
    }

    void UpdateUI()
    {
        // UI 텍스트 업데이트
        scoreText.text = "점수: " + score;
        perSecondText.text = "초당 점수: " + perSecond.ToString("F1");
        
        // 업그레이드 버튼 활성화 여부 업데이트
        upgradeButton.interactable = score >= upgradeCost;
    }

    void OnClick()
    {
        // 클릭 시 실행되는 함수
        score += clickPower;
        UpdateUI();
    }

    void UpgradeClickPower()
    {
        // 업그레이드 버튼 클릭 시 실행되는 함수
        if (score >= upgradeCost)
        {
            score -= upgradeCost;
            clickPower *= upgradePower;
            upgradeCost *= 2;
            UpdateUI();
        }
    }

    IEnumerator PerSecondProduction()
    {
        // 초당 점수 생산 코루틴
        while (true)
        {
            yield return new WaitForSeconds(1.0f);
            score += (int)perSecond;
            UpdateUI();
        }
    }
}

 


다른 간단한 게임 만들기

 

유니티 C# 간단한 타워 디펜스 게임 만들기 Tower Defense

적 코드using UnityEngine;public class Enemy : MonoBehaviour{ public float speed = 5f; // 적의 이동 속도 void Update() { Move(); // 이동 함수 호출 } void Move() { // 적이 현재 위치에서 목표 지점으로 이동하는 방향을 계산

parksh3641.tistory.com

 

유니티 C# 간단한 똥피하기 게임 만들기 예시 구현 Unity Avoid Poop

플레이어 코드 작성using UnityEngine;public class PlayerController : MonoBehaviour{ public float speed = 10f; public float horizontalBound = 8f; private Rigidbody2D rb; void Start() { rb = GetComponent(); } void Update() { float horizontalInput = In

parksh3641.tistory.com

 


의뢰하기

 

유니티로 제작된 게임을 업그레이드 해드립니다. - 크몽

DevPark 전문가의 IT·프로그래밍 서비스를 만나보세요. <p><strong style="font-size: 24px;&q...

kmong.com

 

 

반응형