gpt4 book ai didi

ios - Cocos2D 防止 Sprite 离开屏幕?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:20:15 25 4
gpt4 key购买 nike

是否可以防止我的 CCSprite 离开屏幕?我已经允许它在左侧和右侧离开屏幕,所以这很好,但我只想阻止它在顶部和底部离开屏幕。

到目前为止,我所做的只是让 Sprite 卡在顶部或底部。我不希望这影响 Sprite 的移动,我只想让 CCSprite 在到达顶部或底部时停止。

谁能告诉我怎么做?

谢谢!

编辑:

CGSize size = [[CCDirector sharedDirector] winSize];

if ((sprite.y <= size.height) && (sprite.y >= 0) ) {
// Set new position

} else {
// sprite is colliding with top/bottom limits, do whatever you like, for example change direction

}

最佳答案

要将 Sprite 限制在边界内,请不要检查当前位置,而是检查新位置。但是,您可以使用钳制方法,而不是使用(可能多个)if 条件:

技术 1 - 使用 MINMAX 组合:

CGPoint newPosition = ... (assign new position here using touch location or something)
sprite.position = ccp(newPosition.x, MAX(0, MIN(size.height, newPosition.y)));

技术 2 - 使用 clampf:

CGPoint newPosition = ... (assign new position here using touch location or something)
sprite.position = ccp(newPosition.x, clampf(newPosition.y, 0, size.height));

关于ios - Cocos2D 防止 Sprite 离开屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8706959/

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