Я использую приведенный ниже код, но, похоже, это не мешает спрайту уйти с экрана, даже если код создается.может кто-нибудь сказать мне, как его нужно изменить, чтобы, когда спрайт достиг края экрана вдоль координаты x, он остановился.
-(void)applyJoystick:(SneakyJoystick *)aJoystick toNode:(CCNode *)tempNode forTimeDelta:(float)deltaTime
{
CGPoint scaledVelocity = ccpMult(aJoystick.velocity, 1024.0f);
CGPoint newPosition = ccp(tempNode.position.x + scaledVelocity.x * deltaTime, tempNode.position.y);
CGSize screenSize = [CCDirector sharedDirector].winSize;
CGFloat spriteWidth = vikingSprite.contentSize.width;
CGFloat x = tempNode.position.x + scaledVelocity.x * deltaTime;
if (x < 0 + (spriteWidth/2)) {
x = 0 + (spriteWidth/2);
} else if (x > screenSize.width - (spriteWidth/2)) {
x = screenSize.width - (spriteWidth/2);
}
[tempNode setPosition:newPosition];
if (jumpButton.active == YES) {
CCLOG(@"Jump button is pressed.");
}
if (attackButton.active == YES) {
CCLOG(@"Attack button is pressed.");
}
}
спасибо