SpriteKit 目标 c 节点仅在 x 轴上移动
Posted
技术标签:
【中文标题】SpriteKit 目标 c 节点仅在 x 轴上移动【英文标题】:SpriteKit objective c node movement only on x axis 【发布时间】: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 非常感谢,现在它就像我想要的那样工作:) 【参考方案1】:您需要通过 y 轴设置位置
CGPoint touchlocation = [touch locationInNode:self];
CGPoint location = CGPointMake(touchlocation.x,100); //where 100 is the spot on the y axis you want to stay on
【讨论】:
以上是关于SpriteKit 目标 c 节点仅在 x 轴上移动的主要内容,如果未能解决你的问题,请参考以下文章