У меня есть код, который открывает промежуточное добавление, когда игра заканчивается, сценарий находится на игровом объекте из предыдущей сцены.код нормально работает в редакторе, но в моем приложении сценарий, похоже, не может найти сценарий из последней сцены
Я попытался добавить в свою игру какой-то пользовательский интерфейс и некоторые операторы if, чтобы показать мне, чтопроисходит, похоже, GameObject.FindGameObjectWithTag ("AdHandler"). GetComponent () возвращает ноль в приложении, даже если в редакторе он работает нормально)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
public class MenuAds : MonoBehaviour
{
private BannerView bannerView;
public InterstitialAd FullScreenAd;
public void Start()
{
DontDestroyOnLoad(gameObject);
#if UNITY_ANDROID
string appId = "ca-app-pub-3940256099942544~3347511713";
#elif UNITY_IPHONE
string appId = "ca-app-pub-3940256099942544~1458002511";
#else
string appId = "unexpected_platform";
#endif
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize(appId);
this.RequestInterstitial();
this.RequestBanner();
}
private void RequestInterstitial () {
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
string adUnitId = "unexpected_platform";
#endif
FullScreenAd = new InterstitialAd(adUnitId);
AdRequest Request = new AdRequest.Builder().Build();
FullScreenAd.LoadAd(Request);
}
public void ShowFullScreenAd () {
if(FullScreenAd.IsLoaded()){
FullScreenAd.Show();
}
}
private void RequestBanner()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
string adUnitId = "unexpected_platform";
#endif
// Create a 320x50 banner at the top of the screen.
bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Bottom);
// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();
// Load the banner with the request.
bannerView.LoadAd(request);
bannerView.Show();
}
}
'''
'' 'C # Код, который ищет этот скрипт
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DeathPanelScript : MonoBehaviour
{
public Text ScoreUI, HighscoreUI, TimeUI, CoinAmountUI,DebugTextUI;
public Score ScoreScript;
public int CoinsBeforeBoost, CoinsAfterBoost, AllCoins;
MenuAds Ads;
void Start()
{
AllCoins = PlayerPrefs.GetInt("AllCoins",0);
ScoreUI.text = ScoreScript.ScoreNmbr.ToString();
HighscoreUI.text = PlayerPrefs.GetInt("HighScore",0).ToString();
TimeUI.text = GetTime();
CoinsBeforeBoost = Mathf.FloorToInt(ScoreScript.ScoreNmbr/20);
CoinsAfterBoost = CoinsBeforeBoost;
CoinAmountUI.text = CoinsBeforeBoost.ToString();
Ads = GameObject.FindGameObjectWithTag("AdHandler").GetComponent<MenuAds>();
Ads.ShowFullScreenAd();
if(Ads)DebugTextUI.text = ("Ads");
else DebugTextUI.text = ("No Ads");
}
public void ShowInterstitial () {
DebugTextUI.text = ("Click");
Ads = GameObject.FindGameObjectWithTag("AdHandler").GetComponent<MenuAds>();
if (Ads)
DebugTextUI.text = ("Ads");
if(Ads.FullScreenAd.IsLoaded()){
DebugTextUI.text = ("Ad Loaded");
Ads.ShowFullScreenAd();
}
else
DebugTextUI.text = ("Ad No Load");
}
public void DoubleCoins (float X){
//load ad
//if Watched Ad
CoinsAfterBoost = CoinsBeforeBoost * 2;
}
string GetTime () {
float TimeValueRaw = Time.timeSinceLevelLoad;
int RoundedTimeValue = Mathf.RoundToInt(TimeValueRaw);
int Minutes,Secondes;
Secondes = RoundedTimeValue % 60;
Minutes = Mathf.FloorToInt(RoundedTimeValue/60);
return (Minutes + " : " + Secondes);
}
public void PlayAgain () {
PlayerPrefs.SetInt("AllCoins",CoinsAfterBoost+AllCoins);
Application.LoadLevel("Game");
}
public void BackToMenu () {
PlayerPrefs.SetInt("AllCoins",CoinsAfterBoost+AllCoins);
Application.LoadLevel("MainMenu");
}
}
'''
в редакторе, когда я запускаю игру, я загружаю рекламу, но когда я запускаю игру на своемтелефон текст застревает при нажатии