Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Начисление монет в Unity

Guaeshe Ученик (176), открыт 3 недели назад
У меня есть Обьект, который начисляет 250монет за рекламу, и есть сам кликер, который добавляет по 1 монете, как сделать так, чтобы эти 250 монет и 1 монетка были в 1 тексте? Чтобы когда кликаешь добавлялось по 1 монетке, а смотришь рекламу 250, и это все совмещалось в 251
2 ответа
- Профи (787) 3 недели назад
 using UnityEngine;  
using UnityEngine.UI;

public class CoinManager : MonoBehaviour
{
public Text coinText; // Ссылка на текстовый компонент UI
private int totalCoins = 0; // Общее количество монет

// Метод для добавления одной монеты (для кликера)
public void AddCoinByClick()
{
totalCoins += 1;
UpdateCoinDisplay();
}

// Метод для добавления монет за рекламу
public void AddCoinsByAd()
{
totalCoins += 250;
UpdateCoinDisplay();
}

// Обновление отображения монет
private void UpdateCoinDisplay()
{
coinText.text = totalCoins.ToString();
}
}```
Если вы используете рекламу через Unity Ads, можно интегрировать это так:```using UnityEngine;
using UnityEngine.Advertisements;

public class CoinManager : MonoBehaviour, IUnityAdsLoadListener, IUnityAdsShowListener
{
public Text coinText;
private int totalCoins = 0;
private string adUnitId = "Rewarded_Android"; // ID вашей рекламы

void Start()
{
Advertisement.Load(adUnitId, this);
}

public void AddCoinByClick()
{
totalCoins += 1;
UpdateCoinDisplay();
}

public void ShowAd()
{
Advertisement.Show(adUnitId, this);
}

public void OnUnityAdsShowComplete(string adUnitId, UnityAdsShowCompletionState showCompletionState)
{
if (showCompletionState == UnityAdsShowCompletionState.COMPLETED)
{
totalCoins += 250;
UpdateCoinDisplay();
}
}

private void UpdateCoinDisplay()
{
coinText.text = totalCoins.ToString();
}

// Реализация остальных необходимых интерфейсов
public void OnUnityAdsAdLoaded(string adUnitId) { }
public void OnUnityAdsFailedToLoad(string adUnitId, UnityAdsLoadError error, string message) { }
public void OnUnityAdsShowFailure(string adUnitId, UnityAdsShowError error, string message) { }
public void OnUnityAdsShowStart(string adUnitId) { }
public void OnUnityAdsShowClick(string adUnitId) { }
}using UnityEngine;
using UnityEngine.Advertisements;

public class CoinManager : MonoBehaviour, IUnityAdsLoadListener, IUnityAdsShowListener
{
public Text coinText;
private int totalCoins = 0;
private string adUnitId = "Rewarded_Android"; // ID вашей рекламы

void Start()
{
Advertisement.Load(adUnitId, this);
}

public void AddCoinByClick()
{
totalCoins += 1;
UpdateCoinDisplay();
}

public void ShowAd()
{
Advertisement.Show(adUnitId, this);
}

public void OnUnityAdsShowComplete(string adUnitId, UnityAdsShowCompletionState showCompletionState)
{
if (showCompletionState == UnityAdsShowCompletionState.COMPLETED)
{
totalCoins += 250;
UpdateCoinDisplay();
}
}

private void UpdateCoinDisplay()
{
coinText.text = totalCoins.ToString();
}

// Реализация остальных необходимых интерфейсов
public void OnUnityAdsAdLoaded(string adUnitId) { }
public void OnUnityAdsFailedToLoad(string adUnitId, UnityAdsLoadError error, string message) { }
public void OnUnityAdsShowFailure(string adUnitId, UnityAdsShowError error, string message) { }
public void OnUnityAdsShowStart(string adUnitId) { }
public void OnUnityAdsShowClick(string adUnitId) { }
}```
GuaesheУченик (176) 3 недели назад
А есть что-нибудь попроще? У меня есть код для кликера, есть для рекламы, мне просто нужно их совместить
Похожие вопросы