问题描述
我有一个奇怪的问题。我已经在游戏中实现了广告代码,当玩家死亡时,我要求玩家观看广告并重生。当我将apk构建并安装到手机上时,在第一次播放时,一切都运行良好。在第二次尝试之后,我的rewarderAdd.OnAdRewarded函数根本不起作用。我在游戏和第二局中控制广告状态,我可以看到奖励系统没有运行。这是我的代码
void Start()
{
adState = 0;
gameOverScript = GameObject.Find("GameOver").GetComponent<GameOverCode>();
kingSCript = GameObject.FindGameObjectWithTag("Player").GetComponent<RedKing>();
isCompleted = false;
RequestRewardedVideo();
this.rewardedAd.OnAdRewarded += Rewardplayer;
// this.rewardedAd.OnAdClosed += PlayerClosed;
}
public void RequestRewardedVideo()
{
rewardedAd = RewardBasedVideoAd.Instance;
// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();
// Load the rewarded ad with the request.
this.rewardedAd.LoadAd(request,rewarderID);
if(rewardedAd.IsLoaded() == true)
{
adState = 5;
}
}
private void Rewardplayer(object sender,EventArgs e)
{
isCompleted = true;
adState = 1;
Reward();
}
private void PlayerClosed(object sender,EventArgs e)
{
if(adState != 1)
{
adState = -1;
}
}
public void Reward()
{
adState = 1;
kingSCript.Reborn();
}
public void ShowVideoRewardAd()
{
if (this.rewardedAd.IsLoaded())
{
adState = 2;
isLoaded = true;
this.rewardedAd.Show();
}
else
{
isLoaded = false;
}
}
为什么广告状态在第二次尝试后无法正常工作?每次我重新上传场景时,每个代码都应该像第一次一样工作,但根本不工作!
解决方法
解决方案是对所有方法使用-=函数。检查此脚本
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
link = 'https://www.usdebtclock.org/world-debt-clock.html'
results = []
with webdriver.Chrome() as driver:
wait = WebDriverWait(driver,10)
driver.get(link)
current_row = []
found_first_percent = False
for elem in wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,"[id^='layer'] > span"))):
current_row.append(elem)
if "%" in elem:
if found_first_percent:
results.append(current_row)
current_row = []
found_first_percent = False
else:
found_first_percent = True
for row in results:
print(row)