Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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
Objective c iOS Cocos2d精灵移动问题_Objective C_Ios_Cocos2d Iphone - Fatal编程技术网

Objective c iOS Cocos2d精灵移动问题

Objective c iOS Cocos2d精灵移动问题,objective-c,ios,cocos2d-iphone,Objective C,Ios,Cocos2d Iphone,在这个简单的应用程序中,我试图让一个投射物从屏幕中间飞到用户触摸的任何地方,然后飞到屏幕边缘。无论出于何种原因,无论用户何时按下,投射物都只会飞到具有正x坐标的目的地。如果你想象一个x-y平面,屏幕的中心是原点,投射物只会飞到原点右侧象限中的位置。如果用户触碰左侧两点上的一个点,则投射物会以与触碰与原点的比率相同的坡度朝相反的方向飞行。。。。。。。。。?任何想法,事先感谢 当计算比率时,你必须考虑X和Y坐标的符号。这就是你问题的根源 int realX = winSize.width + (p

在这个简单的应用程序中,我试图让一个投射物从屏幕中间飞到用户触摸的任何地方,然后飞到屏幕边缘。无论出于何种原因,无论用户何时按下,投射物都只会飞到具有正x坐标的目的地。如果你想象一个x-y平面,屏幕的中心是原点,投射物只会飞到原点右侧象限中的位置。如果用户触碰左侧两点上的一个点,则投射物会以与触碰与原点的比率相同的坡度朝相反的方向飞行。。。。。。。。。?任何想法,事先感谢

当计算比率时,你必须考虑X和Y坐标的符号。这就是你问题的根源

int realX = winSize.width + (projectile.contentSize.width/2);
float ratio = (float) offY / (float) offX;
int realY = (realX * ratio) + projectile.position.y;
CGPoint realDest = ccp(realX, realY);
[_projectiles addObject:projectile];
projectile.tag = 2;


[projectile runAction:[CCSequence actions:
                       [CCMoveTo actionWithDuration:realMoveDuration position:realDest],
                       [CCCallFuncN actionWithTarget:self selector:@selector(spriteMoveFinished:)],
                       nil]];