Код работает в редакторе не работает в приложении - PullRequest
0 голосов
/ 08 июля 2019

У меня есть код, который открывает промежуточное добавление, когда игра заканчивается, сценарий находится на игровом объекте из предыдущей сцены.код нормально работает в редакторе, но в моем приложении сценарий, похоже, не может найти сценарий из последней сцены

Я попытался добавить в свою игру какой-то пользовательский интерфейс и некоторые операторы 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");
    }
}

'''

в редакторе, когда я запускаю игру, я загружаю рекламу, но когда я запускаю игру на своемтелефон текст застревает при нажатии

1 Ответ

0 голосов
/ 08 июля 2019

ВЫКЛЮЧАЕТ, ЗАКРЫВАЯ ЕДИНСТВО И ОТКРЫВАЯ ЕГО, ПОСЛЕ ТОГО, КАК СТРОИТЬ ИСПРАВЛЕНИЯ ВСЕ БЕЗ ИЗМЕНЕНИЯ БИТА КОДА

ps: я сделал это после того, как прочитал, что для того, чтобы тег действительно был удален, вам нужно перезапустить объединение, поэтому я подумал, что если мой тег еще не зарегистрирован, и это было

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...