Can't seem to figure what's wrong here

81 views Asked by At

I've used this same exact code before, and it worked perfect every time. However, I'm trying to use it to move the paddle sprite along a horizontal path at position 100 for y and it updates with the location of my touch but for some reason it's not moving at all. I can't spot what's wrong. Can someone take a look and let me know?

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
    for (UITouch *touch in touches){
        CGPoint location = [touch locationInNode:self];
        CGPoint newPosition = CGPointMake(location.x, 100);

        //stop the paddle from going too far
        if (newPosition.x < self.paddle.size.width/ 2) {
            newPosition.x = self.paddle.size.width/ 2;
        }
        if (newPosition.x > self.size.width - (self.paddle.size.width/ 2)) {
            newPosition.x = self.size.width - (self.paddle.size.width/ 2);
        }
        self.paddle.position = newPosition;
    }
}

-(void) addPlayer:(CGSize)size {
    SKSpriteNode *paddle = [SKSpriteNode spriteNodeWithImageNamed:@"paddle"];
    //resize sprite
    paddle.size = CGSizeMake(125, 31.25);
    //position sprite
    paddle.position = CGPointMake(size.width/2, 100);
    //add physics body to paddle
    paddle.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:paddle.frame.size];
    //change to static so wont be moved by physics
    paddle.physicsBody.dynamic = NO;

    //add sprite to scene
    [self addChild:paddle];
}

-(instancetype)initWithSize:(CGSize)size {
    if (self = [super initWithSize:size]){
        self.backgroundColor = [SKColor colorWithRed:(29.0f/255) green:(29.0f/255) blue:(29.0f/255) alpha:1.0];

        //change gravity
        self.physicsWorld.gravity = CGVectorMake(0, 0);

        //add physics body to scene
        self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];

        [self addPlayer:size];
        [self addBricks:size];
        [self addBall:size];
    }
    return self;
}
0

There are 0 answers