【发布时间】:2016-04-28 07:44:22
【问题描述】:
当您暂停游戏时,您可以点击该按钮并在该视频的末尾观看不可跳过的视频。我想实现以下内容:
如果视频观看到最后,他们会额外获得 1 颗爱心(最多 3 颗完整的爱心),并获得一个聊天框或提醒对话框来感谢。
如果视频无法打开、完全加载或出现问题,他们将一无所获,并且会出现一个聊天框或警告对话框。
目前正在加载视频,但是当视频结束时,没有收到奖品(1个额外的心脏),我的代码有什么问题?
下面是按钮广告
using UnityEngine;
using System.Collections;
using UnityEngine.Advertisements;
using UnityEngine.UI;
public class Ads : MonoBehaviour {
public Button getAds;
private Hearts heart;
void OnEnable ()
{
getAds.onClick.AddListener (() => GetAds (getAds));
}
private void GetAds ( Button buttonPressed)
{
if (buttonPressed == getAds) {
Advertisement.Initialize ("XXXXXX", true);
Advertisement.IsReady ("rewardedVideo");
Advertisement.Show ("rewardedVideo");
}
}
public void HandleShowResult (ShowResult result)
{
switch (result)
{
case ShowResult.Finished:
heart = GameObject.FindGameObjectWithTag ("Hearts").GetComponent<Hearts> () as Hearts;
heart.AddHeart ();
break;
case ShowResult.Skipped:
Debug.Log("The ad was skipped before reaching the end.");
break;
case ShowResult.Failed:
Debug.LogError("The ad failed to be shown.");
break;
}
}
void OnDisable ()
{
getAds.onClick.RemoveAllListeners ();
}
}
当前红心系统脚本下方
using UnityEngine;
using System.Collections;
public class Hearts : MonoBehaviour {
public Texture2D[]initialHeart;
private int hearts;
private int currentHearts;
void Start () {
GetComponent<GUITexture>().texture = initialHeart[0];
hearts = initialHeart.Length;
}
void Update () {
}
public bool TakeHeart()
{
if (hearts < 0) {
return false;
}
if (currentHearts < (hearts - 1)) {
currentHearts += 1;
GetComponent<GUITexture> ().texture = initialHeart [currentHearts];
return true;
} else {
return false;
}
}
public bool AddHeart() {
if (currentHearts > 0) {
currentHearts -= 1;
GetComponent<GUITexture> ().texture = initialHeart [currentHearts];
return true;
} else {
return false;
}
}
}
【问题讨论】:
-
+1 用于放置代码。您需要修改您的问题并重新表述您的问题。现在我读起来很困惑。问题也以“?”结尾“我的代码有什么问题?” “为什么我的广告没有显示?”......
标签: c# unity3d unityscript ads unity3d-2dtools