gpt4 book ai didi

ios - 为什么这些 UIImages 在屏幕上重新加载时会出现故障? :

转载 作者:行者123 更新时间:2023-11-28 22:13:00 25 4
gpt4 key购买 nike

在我的代码中,在 Frog 跳到睡莲叶上之后,睡莲叶会慢慢淡出,(让它看起来像是被淹没了)然后在它们通过屏幕底部后,它们会重新加载到屏幕顶部.代码如下:

if (CGRectIntersectsRect(FrogSquare.frame, lilypadTS.frame) && (upMovement <= -1) && (swim == YES) && (startingice.hidden == NO)){
[self bounce];
[self iceblockfall];
if (lilypadused == NO) {
addedScore = 1;
lilypadused = YES;
}

//hide pad
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:4];
[startingice setAlpha:0];
[UIView commitAnimations];

[self performSelector:@selector(hidePad) withObject:self afterDelay:4.0];
}

那部分工作正常,睡莲叶做了它应该做的。以下是我遇到这个奇怪故障的地方:

if (lilypad.center.y > 610) {
RandomPosition = arc4random() %248;
RandomPosition = RandomPosition + 36;
lilypad.center = CGPointMake(RandomPosition, -22);
lilypadused = NO;

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0];
[lilypad setAlpha:1];
[UIView commitAnimations];
[self performSelector:@selector(showlilypad) withObject:self afterDelay:0];

} else if ((lilypad.center.y > 610) && (lilypad.hidden == YES)) {
RandomPosition = arc4random() %248;
RandomPosition = RandomPosition + 36;
lilypad.center = CGPointMake(RandomPosition, -22);
lilypadused = NO;

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0];
[lilypad setAlpha:1];
[UIView commitAnimations];
[self performSelector:@selector(showlilypad) withObject:self afterDelay:0];
}

发生的事情是出于某种原因,睡莲会像预期的那样重新加载到屏幕顶部,但随后当用户跳到顶部睡莲下方的睡莲上时。如果那令人困惑——屏幕尺寸 320 x 568,lilypad1 在屏幕顶部重新加载点 = -22,然后慢慢下降,所以说下降一点后点是 10,假设玩家跳到 HAS NOT been 的 lilypad2隐藏并超过610(在顶部重新加载),它使lilypad1立即隐藏,这是为什么??

最佳答案

您提供的代码量确实不足以诊断您的问题。您很可能(肯定)引用了导致错误行为的不正确的 lilypad。您可能应该仔细查看您的应用程序的架构,以确保您以最佳方式正确管理 lilypads 列表。

此外,无论何时使用延迟 - 请注意,这些延迟是近似值,而不是精确值。您可能处于竞争状态,隐藏尚未发生但您已经在顶部再次显示它,然后隐藏稍后触发。

最后,如果 afterDelay 为 0,您不妨直接调用 showlilypad 方法 - 无需真正延迟 0 秒。

祝你好运!

关于ios - 为什么这些 UIImages 在屏幕上重新加载时会出现故障? :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22428227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com