При скольжении спрайта, если спрайт исчезает сбоку, я хочу, чтобы он обернулся на противоположную сторону, но я не знаю, как это сделать, пока спрайт одновременно отталкивается от одной стороны, я хочу другой бит, который вы можете " Я не вижу, чтобы на противоположной стороне появилась петля, какая-то червоточина.
вот мой код до сих пор, но он дает сбой, и он переносит спрайт только тогда, когда весь спрайт исчезает со стороны. Цикл также должен работать как бесконечный цикл, пока кто-то не выйдет из приложения.
for (int i =0; i<16; ++i) {
MyNode *currentSprite = [c1array objectAtIndex:i];
if (currentSprite.contentSize.height>=320 || currentSprite.position.y-currentSprite.contentSize.height/2<=0 ){
MyNode *Bsprite = currentSprite;
MyNode *Tsprite = currentSprite;
Bsprite.scale = 1.0;
Tsprite.scale = 1.0;
if(currentSprite.position.y >=253){
Bsprite.position = ccp(currentSprite.position.x,-35);
[self addChild:Bsprite];
Bsprite.visible = TRUE;
}
if (currentSprite.position.y <=0) {
Tsprite.position = ccp(currentSprite.position.x,324);
[self addChild:Tsprite];
Tsprite.visible = TRUE;
}
MyNode *isChanging;
if ((Tsprite.visible == TRUE && currentSprite.visible == TRUE) || (Bsprite.visible == TRUE && currentSprite.visible == TRUE)) {
isChanging = TRUE;
}
if (isChanging == FALSE) {
[self removeChild:Tsprite cleanup:YES];
[self removeChild:Bsprite cleanup:YES];
}
}
}