【发布时间】:2015-12-16 20:59:23
【问题描述】:
我正在使用 SriteKit 制作简单的游戏,球只是上下弹跳,当它落下时你需要将棋盘放在下面以便球弹回,现在我可以将棋盘放在屏幕上的任何位置,但我想放在特定的 y 轴上,所以板子只能在 x 轴上移动。我的问题是:我做错了什么,我需要改变什么,所以它按我想要的方式工作? P.S 对不起我的英语不好。
这是我的一小部分代码:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
/* Called when a touch begins */
for (UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];
SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"board"];
sprite.xScale = 0.5;
sprite.yScale = 0.5;
sprite.position = location;
sprite.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:sprite.frame.size];
sprite.physicsBody.dynamic = NO;
SKAction *delay = [SKAction waitForDuration:2];
SKAction *remove = [SKAction removeFromParent];
SKAction *actionSequence = [SKAction sequence:@[delay,remove]];
[sprite runAction:actionSequence];
[self addChild:sprite];
}
}
【问题讨论】:
-
我在这里看到的,是你在屏幕上放了一个精灵,它什么都不做,然后消失,这是目前正在发生的事情吗?
-
@Knight0fDragon 球在那块板上弹跳,就像乒乓球游戏一样,唯一的区别是您不需要用手指滑动板子,只需轻点即可
-
是的,我给了你一个答案,你触摸 x 上的任意位置,paddle 出现在触摸 x 位置,指定 y 位置
-
@Knight0fDragon 非常感谢,现在它就像我想要的那样工作:)
标签: objective-c sprite-kit objective-c-blocks skspritenode