반응형
코드 작성
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();
}
}
}
다른 간단한 게임 만들기
의뢰하기
반응형