如何解决xcode CGPoint arc4random不起作用
我有22个图像... 11个是(rightwall1,rightwall2,rightwall3等),其他11个是(leftwall1,leftwall2,leftwall3等) 我将每个y的y值设置为先前的墙y值加上墙的高度(所有墙的高度相同),从而将每个墙放置在另一个的顶部。 这样很好! 现在,我试图使用arc4random设置x值,以使它们在一定范围内到处跳跃。 右侧墙可以正常工作,但是左侧墙可以正常工作,但是大多数都不会显示在屏幕上。 我将x的值1手动设置为-15,它显示在屏幕上,并且低于arc4random允许的值。 我能想到的唯一问题是我要减去左墙的错误? 这是设置墙壁位置的代码,在整个项目中我还没有其他代码。-(void)awakeFromNib {
rightWall1.center = CGPointMake( ((arc4random()%75)+330),(460-((rightWall1.frame.size.height)/2)) );//460 = bottom of screen
rightWall2.center = CGPointMake( ((arc4random()%75)+330),((rightWall1.center.y)-(rightWall2.frame.size.height)) );
rightWall3.center = CGPointMake( ((arc4random()%75)+330),((rightWall2.center.y)-(rightWall3.frame.size.height)) );
rightWall4.center = CGPointMake( ((arc4random()%75)+330),((rightWall3.center.y)-(rightWall4.frame.size.height)) );
rightWall5.center = CGPointMake( ((arc4random()%75)+330),((rightWall4.center.y)-(rightWall5.frame.size.height)) );
rightWall6.center = CGPointMake( ((arc4random()%75)+330),((rightWall5.center.y)-(rightWall6.frame.size.height)) );
rightWall7.center = CGPointMake( ((arc4random()%75)+330),((rightWall6.center.y)-(rightWall7.frame.size.height)) );
rightWall8.center = CGPointMake( ((arc4random()%75)+330),((rightWall7.center.y)-(rightWall8.frame.size.height)) );
rightWall9.center = CGPointMake( ((arc4random()%75)+330),((rightWall8.center.y)-(rightWall9.frame.size.height)) );
rightWall10.center = CGPointMake( ((arc4random()%75)+330),((rightWall9.center.y)-(rightWall10.frame.size.height)) );
rightWall11.center = CGPointMake( ((arc4random()%75)+330),((rightWall10.center.y)-(rightWall11.frame.size.height)) );
leftWall1.center = CGPointMake( ((arc4random()%75)-60),(460-((leftWall1.frame.size.height)/2)) );
leftWall2.center = CGPointMake( ((arc4random()%75)-60),((leftWall1.center.y)-(leftWall2.frame.size.height)) );
leftWall3.center = CGPointMake( ((arc4random()%75)-60),((leftWall2.center.y)-(leftWall3.frame.size.height)) );
leftWall4.center = CGPointMake( ((arc4random()%75)-60),((leftWall3.center.y)-(leftWall4.frame.size.height)) );
leftWall5.center = CGPointMake( ((arc4random()%75)-60),((leftWall4.center.y)-(leftWall5.frame.size.height)) );
leftWall6.center = CGPointMake( ((arc4random()%75)-60),((leftWall5.center.y)-(leftWall6.frame.size.height)) );
leftWall7.center = CGPointMake( ((arc4random()%75)-60),((leftWall6.center.y)-(leftWall7.frame.size.height)) );
leftWall8.center = CGPointMake( ((arc4random()%75)-60),((leftWall7.center.y)-(leftWall8.frame.size.height)) );
leftWall9.center = CGPointMake( ((arc4random()%75)-60),((leftWall8.center.y)-(leftWall9.frame.size.height)) );
leftWall10.center = CGPointMake( ((arc4random()%75)-60),((leftWall9.center.y)-(leftWall10.frame.size.height)) );
leftWall11.center = CGPointMake( ((arc4random()%75)-60),((leftWall10.center.y)-(leftWall11.frame.size.height)) );
}
解决方法
我将x的值1手动设置为-15,它显示在屏幕上,并且低于arc4random允许的值。
((arc4random()%75)-60)
返回介于-60和14之间的数字,因为(arc4random()%75)
返回介于0和74之间的数字。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。