1
我有22张图片... 11(rightwall1,rightwall2,rightwall3等),其他11(leftwall1,leftwall2,leftwall3等)xcode的CGPoint arc4random不工作
我把每一个ontop的的另一种方法是将它们的y值设置为之前的墙壁y值加上墙壁的高度(所有墙壁都是相同的高度)。
这工作正常!现在
,我试图用arc4random设置x的值,这样他们就活蹦乱跳在一定范围内的地方......
右壁完美,但左侧墙壁,其中一些工作但其中大部分没有显示在屏幕上。
我手动将x值设置为-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)));
}
(arc4random()%75)
回报数字! HAHAHHAHAHAHAHAHHAHAHAAH – 2011-05-30 17:39:54尽管仍然没有工作,问题是当处理负arc4random值你不能使用整数你必须使用浮动..如果减去你不能只减去你必须添加arc4random乘以负1 float值。这是因为arc4random使用我假设的模... – 2011-05-31 04:52:57
arc4random返回无符号值。使用%限制范围。你不需要浮点数 - 只是在%之后的有符号整数。 – 2011-05-31 11:53:35