gpt4 book ai didi

ios - 减少重复的 Cocos2D 代码?

转载 作者:行者123 更新时间:2023-11-28 19:20:51 26 4
gpt4 key购买 nike

目前我正在尝试通过查看 CCSprite 是否越过屏幕的顶部或底部来检查屏幕边界。问题是,我真的想将下面的 2 个 if 语句组合成 1 语句。无论如何,我要做的唯一困难的事情是以下内容。我在下面所做的是向内移动 CCSprite 1 点以强制执行实际屏幕边界。但我只是不明白如何使用一个 if 语句来做到这一点。

方法是这样的:

- (void)checkScreenBoundaries {
CGSize size = [[CCDirector sharedDirector] winSize];
if (sprite.position.y <= 0) {
sprite.position = ccp(sprite.position.x, 1);
died = YES;
} else if (sprite.position.y >= size.height) {
sprite.position = ccp(sprite.position.x, size.height - 1);
died = YES;
}
}

谁能告诉我如何将这两个 if 合并为 1?

谢谢!

最佳答案

CGFloat yNew = MAX(1, MIN(sprite.position.y, size.height - 1));
if (yNew != sprite.position.y) {
sprite.position = ccp(sprite.position.x, yNew);
died = YES;
}

关于ios - 减少重复的 Cocos2D 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8967486/

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