gpt4 book ai didi

ios - 在 iOS Cocos2D 中使用加速滚动背景

转载 作者:行者123 更新时间:2023-11-29 11:21:34 25 4
gpt4 key购买 nike

我正在尝试制作横向滚动背景游戏,其中滚动随着时间的推移而增加。我目前正试图通过拥有 2 个背景 Sprite 来实现这一点,一个适合整个屏幕,另一个紧挨着它。我安排这些背景向左移动,通过一个随时间增加(加速)的变量减少 X 位置,一旦任何背景 Sprite 离开屏幕,我再次将它们替换到屏幕旁边。

这是代码

- (void) scrollBackground:(ccTime) dT { 
bg1.position = ccp(bg1.position.x - movingSpeed/2*dT, size.height/2);
bg2.position = ccp(bg2.position.x - movingSpeed/2*dT, size.height/2);

if (bg1.position.x <= -size.width/2) {
bg1.position = ccp(size.width + size.width/2, size.height/2);
} else if (bg2.position.x <= -size.width/2) {
bg2.position = ccp(size.width + size.width/2, size.height/2);
}

问题是,一旦速度增加, Sprite 之间就会出现差距,并且随着时间的推移会越来越大。有办法解决这个问题吗?

提前致谢

最佳答案

说实话,我不确定是什么导致了你的问题,但我看到你的背景 Sprite 都是相对于屏幕的......你可以尝试让你的背景 Sprite 彼此相对......也许这可以解决你的问题问题。你可以这样做:

- (void) scrollBackground:(ccTime) dT {
bg1.position = ccp(bg1.position.x - movingSpeed/2*dT, size.height/2);
bg2.position = ccp(bg2.position.x - movingSpeed/2*dT, size.height/2);

if (bg1.position.x <= -size.width/2) {
bg1.position = ccp(bg2.position.x + size.width, size.height/2);
} else if (bg2.position.x <= -size.width/2) {
bg2.position = ccp(bg1.position.x + size.width, size.height/2);
}
.....
}

希望对你有用

关于ios - 在 iOS Cocos2D 中使用加速滚动背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6907133/

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