Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何改进此跳转代码?_Ios_Objective C - Fatal编程技术网

Ios 如何改进此跳转代码?

Ios 如何改进此跳转代码?,ios,objective-c,Ios,Objective C,我有一个iOS游戏,青蛙从睡莲垫跳到睡莲垫。游戏是垂直方向的,我试图实现的视角是鸟瞰图,用户从顶部观看青蛙和风景。青蛙从睡莲垫跳到睡莲垫,代码如下: 反弹方法: -(void)bounce { [self jumpSound]; if (frog.center.y > 450) { upMovement = 2; } else if (frog.center.y > 350) {

我有一个iOS游戏,青蛙从睡莲垫跳到睡莲垫。游戏是垂直方向的,我试图实现的视角是鸟瞰图,用户从顶部观看青蛙和风景。青蛙从睡莲垫跳到睡莲垫,代码如下:

反弹方法:

-(void)bounce {
        [self jumpSound];

        if (frog.center.y > 450) {
            upMovement = 2;
        }
        else if (frog.center.y > 350) {
            upMovement = 1.5;
        }
        else if (frog.center.y > 250) {
            upMovement = 0.5;
        }
}
还有莉莉帕德运动:

-(void)lilyPadMovement {

   if (CGRectIntersectsRect(frog.frame, lily.frame) && (upMovement <=-1)){
        [self bounce];
        [self lilyPadFall];
        if (lilyPadUsed == NO) {
            addedScore = 1;
            lilyPadUsed = YES;
        }
    }

}
-(无效)LilyPadmove{

如果(CGRectIntersectsRect(frog.frame,lily.frame)&(upMovement你真的想知道是否有足够的重叠,使青蛙能够离开,而不是掉进水里。因此,可能中心之间的距离必须小于X,你可以根据看起来好的地方调整X

例如(使用毕达哥拉斯公式):

//已定义此函数:
内联浮点正方形(浮点a){返回a*a;}
//将相交测试更改为:
如果(((正方形(蛙心x-lily.center.x)+正方形(蛙心y-lily.center.y))<10000)

(向上移动你这是什么意思?设置cgrectintersectsrect&&(frog.center.x^
是C的异或运算符吗?是的,但每次回到C我都会忘记它!固定在上面…thx
 //having defined this function: 
inline float square (float a) { return a*a; }
 //change intersect test to:
 if (((square(frog.center.x-lily.center.x) + square(frog.center.y-lily.center.y)) < 10000) && 
     (upMovement <= -1)) { ...