我正在浏览Spritekit的flappy bird教程。 我试图将方向改为垂直方向,我已经成功了。 海报使用以下方法生成管道:
CGFloat y = arc4random() % (NSInteger)( self.frame.size.height / 3 );
将底部管道保持在屏幕的底部三分之一处。
我修改过如此:
CGFloat x = arc4random() % (NSInteger)( self.frame.size.width / 3 );
但管道仅限于屏幕的右三分之一。如何修改以将左侧管道限制在屏幕的左三分之一。
感谢!!!
答案 0 :(得分:1)
我不确定我是否完全理解你所说的话。基本上,你所编写的代码所做的是生成一个随机整数(使用arc4random()方法调用)并从屏幕宽度的三分之一处取出余数(基本上是%所做的)。因此,CGFloat值x只是屏幕宽度的0到1/3之间的随机数,以像素为单位。要修改以将左侧管道限制在屏幕的左三分之一处,您可以将右侧管道扩展到屏幕大小的2/3到屏幕另一端的任何位置(假设这就像一只普通的飞鸟管道之间的距离始终相同的游戏)。它看起来像这样:
CGFloat x = (NSInteger) self.frame.size.width - arc4random() % (NSInteger)( self.frame.size.width / 3 );
我们占据屏幕的整个宽度,并在屏幕宽度的0到1/3之间减去一个随机数。