Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SKAction *shoot = [SKAction moveTo:CGPointMake(2000*cosf(enemy.zRotation),2000*sinf(enemy.zRotation)) duration:5];
- SKAction *remove = [SKAction removeFromParent];
- [bullet runAction:[SKAction sequence:@[shoot,remove]]];
- @implementation MyScene
- {
- SKSpriteNode *ship1;
- SKShapeNode *beam1;
- }
- -(id)initWithSize:(CGSize)size
- {
- if (self = [super initWithSize:size])
- {
- //self.physicsWorld.contactDelegate = self;
- [self createSpaceships];
- }
- return self;
- }
- -(void)createSpaceships
- {
- ship1 = [SKSpriteNode spriteNodeWithColor:[SKColor blueColor] size:CGSizeMake(50, 50)];
- ship1.position = CGPointMake(300, 150);
- ship1.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:ship1.size];
- ship1.physicsBody.dynamic = NO;
- [self addChild:ship1];
- SKSpriteNode *frontOfShip = [SKSpriteNode spriteNodeWithColor:[SKColor grayColor] size:CGSizeMake(2, 50)];
- frontOfShip.position = CGPointMake(25, 0);
- [ship1 addChild:frontOfShip];
- }
- // touch the left side of the screen to rotate the ship by +0.0785398 radians
- // touch the right hand side of the screen to fire laser
- -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- {
- UITouch *touch = [touches anyObject];
- CGPoint touchLocation = [touch locationInNode:self.scene];
- if(touchLocation.x < self.size.width/2) // left side of screen
- {
- SKAction *block0 = [SKAction runBlock:^{
- ship1.zRotation = ship1.zRotation +0.0785398;
- }];
- [self runAction:block0];
- } else // right side of screen
- {
- int x = ship1.position.x + 1000 * cos(ship1.zRotation);
- int y = ship1.position.y + 1000 * sin(ship1.zRotation);
- beam1 = [SKShapeNode node];
- CGMutablePathRef pathToDraw = CGPathCreateMutable();
- CGPathMoveToPoint(pathToDraw, NULL, ship1.position.x, ship1.position.y);
- CGPathAddLineToPoint(pathToDraw, NULL, x, y);
- beam1.path = pathToDraw;
- [beam1 setStrokeColor:[UIColor redColor]];
- [self addChild:beam1];
- }
- }
- -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
- {
- //[beam1 removeFromParent];
- }
- -(void)update:(CFTimeInterval)currentTime
- {
- //
- }
- @end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement