0
我使用此代碼來實現無限循環,但每當屏幕外圖像座標發生更改時,我都會在1-2秒內得到間隔。他們爲什麼出現?如何解決它?我也使用SpriteBuilder。cocos2d無限循環遊戲中的空白
#import "MainScene.h"
static const CGFloat scrollSpeed =100.f;
@implementation MainScene{
CCPhysicsNode *_world;
CCNode *_oneb;
CCNode *_twob;
NSArray *_bb;
}
- (void)didLoadFromCCB {
_bb = @[_oneb, _twob];
}
-(void)update:(CCTime)delta{
_world.position=ccp(_world.position.x - (scrollSpeed * delta), _world.position.y ); // moving world
for (CCNode *ground in _bb) {
// get the world position of the ground
CGPoint groundWorldPosition = [_world convertToWorldSpace:ground.position];
// get the screen position of the ground
CGPoint groundScreenPosition = [self convertToNodeSpace:groundWorldPosition];
// if the left corner is one complete width off the screen, move it to the right
if (groundScreenPosition.x <= (-1 * ground.contentSize.width)) {
ground.position = ccp(ground.position.x + 2 * ground.contentSize.width, ground.position.y);
}
}
}
@end
編輯:我改變-1到-0.5。工作正常!
背景圖像640:1136。使用4英寸模擬器進行測試。我只是縮小了屏幕截圖。 – Frank
檢出編輯。 – flowmachine1
我在發佈編輯答案之前找到了一個解決方案:)。我將「-1」值更改爲「-0.5」。 – Frank