0
Я хочу изменить спрайты, когда пользователь выполняет поиск влево и вправо. Все, что я обнаружил при переполнении стека, говорит об изменении текстур. Однако я хочу полностью изменить спрайт.Как сделать узел узла спрайта для другого спрайта?
вот мой код, который пытается сделать
@implementation GameScene
SKSpriteNode* player;
SKSpriteNode* playerL;
SKSpriteNode* playerR;
- (void) addPlayer
{
//player right
playerR = [[SKSpriteNode alloc] initWithImageNamed: @"pummelManTestR.png"];
playerR.scale = 0.2f;
playerR.name = playerCategoryName;
playerR.position = CGPointMake(CGRectGetMidX(self.frame)*1.3f, playerR.frame.size.height *1.4f);
//player left
playerL = [[SKSpriteNode alloc] initWithImageNamed: @"pummelManTestL.png"];
playerL.scale = 0.2f;
playerL.name = playerCategoryName;
playerL.position = CGPointMake(CGRectGetMidX(self.frame)*1.3f, playerL.frame.size.height *1.4f);
//set the starting player position
player = playerL;
[self addChild:player];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint endPosition = [touch locationInNode:self];
if (touchStartPoint.x < endPosition.x && player != playerR) {
// Right swipe
//change the image for the player to the other side
player = playerR;
NSLog(@"right");
} else if (touchStartPoint.x > endPosition.x && player != playerL){
// Left swipe
//change the image for the player to the other side
player = playerL;
NSLog(@"left");
}
}
в NSLogs печати правильной информации, но спрайт на экране не меняется.
Любая помощь будет принята с благодарностью.
Вы пытаетесь изменить спрайты, чтобы вы могли отображать правое и левое изображение вашего плеера? – sangony
Да. Но я также хочу изменить положение игрока вместе с его правым и левым изображением. Как вы думаете, я слишком усложняю код? – Sooc
Затем вместо того, чтобы использовать «плеер» для хранения обоих узлов, просто добавьте один узел по мере необходимости и удалите FromParent, когда он больше не нужен. Затем вы можете добавить другой узел на свое место. – sangony