Iphone 随机CGX点值不工作

Iphone 随机CGX点值不工作,iphone,cgpoint,arc4random,Iphone,Cgpoint,Arc4random,我有22张照片。。。11个是右墙1、右墙2、右墙3等其他11个是左墙1、左墙2、左墙3等 我通过将它们的y值设置为前一面墙的y值加上墙的高度,将它们放置在另一面墙的顶部。所有墙的高度都相同 这个很好用 现在,我正试图使用arc4random设置x值,以便它们在左墙的特定范围内跳跃:-35到15&右墙:330到405 右边的墙工作得很好,但左边的墙,其中一些可以工作,但大部分都不会显示在屏幕上 我手动将x值设置为-45,它显示在屏幕上,低于arc4random允许的值 我能想到的唯一问题是我把左边

我有22张照片。。。11个是右墙1、右墙2、右墙3等其他11个是左墙1、左墙2、左墙3等

我通过将它们的y值设置为前一面墙的y值加上墙的高度,将它们放置在另一面墙的顶部。所有墙的高度都相同

这个很好用

现在,我正试图使用arc4random设置x值,以便它们在左墙的特定范围内跳跃:-35到15&右墙:330到405

右边的墙工作得很好,但左边的墙,其中一些可以工作,但大部分都不会显示在屏幕上

我手动将x值设置为-45,它显示在屏幕上,低于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( (15-(arc4random()%50)), (460-((leftWall1.frame.size.height)/2)) );
        leftWall2.center = CGPointMake( (15-(arc4random()%50)), ((leftWall1.center.y)-(leftWall2.frame.size.height)) );
        leftWall3.center = CGPointMake( (15-(arc4random()%50)), ((leftWall2.center.y)-(leftWall3.frame.size.height)) );
        leftWall4.center = CGPointMake( (15-(arc4random()%50)), ((leftWall3.center.y)-(leftWall4.frame.size.height)) );
        leftWall5.center = CGPointMake( (15-(arc4random()%50)), ((leftWall4.center.y)-(leftWall5.frame.size.height)) );
        leftWall6.center = CGPointMake( (15-(arc4random()%50)), ((leftWall5.center.y)-(leftWall6.frame.size.height)) );
        leftWall7.center = CGPointMake( (15-(arc4random()%50)), ((leftWall6.center.y)-(leftWall7.frame.size.height)) );
        leftWall8.center = CGPointMake( (15-(arc4random()%50)), ((leftWall7.center.y)-(leftWall8.frame.size.height)) );
        leftWall9.center = CGPointMake( (15-(arc4random()%50)), ((leftWall8.center.y)-(leftWall9.frame.size.height)) );
        leftWall10.center = CGPointMake( (15-(arc4random()%50)), ((leftWall9.center.y)-(leftWall10.frame.size.height)) );
        leftWall11.center = CGPointMake( (15-(arc4random()%50)), ((leftWall10.center.y)-(leftWall11.frame.size.height)) );

}

事实证明,使用arc4random无法获得负整数值是有意义的,因为arc4random使用的是模。。。。整数哈哈,所以我用了一个浮子

不能说:

(-1)*(arc4random() ....
你必须说:

float num1;
num1 = -1;
(num1)*(arc4random() ....

奇怪的。。。减法也是如此。。。必须将负1浮点乘以arc4random

应该是arc4random%50-15吗?不,我想要15到-35的范围。。。如果我使用这个:15-arc4random%50,它不应该返回那个吗?是的,但当我将images xvalue设置为:15-arc4random%50时,有些图像正在从屏幕上消失,或者全部消失,我说不出来。这是可行的:15-arc4random%15但是如果我把它改成这样的话,它会给我一个0-15的范围:15-arc4random%20图像开始消失,即使它是15-20,也只是-5,如果我手动将图像x值设置为-5,它仍然会显示,-65???哦,等等,对不起,那不行。CGFloat arc4random/CGFloat0xFFFFFFFFu*35-15+15这是我的想法,不幸的是,这不起作用:15+-1*arc4random%50这是什么:CGFloat0xFFFFFFFFu??