iOS Cocos2d Sprite проблема с движением - PullRequest
0 голосов
/ 18 июля 2011
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]];

В этом простом приложении я пытаюсь сделать снаряд, летящий от середины экрана к тому месту, куда пользователь касается, и за его пределами, к краю экрана. По какой-то причине снаряд будет летать только в пункты назначения с положительными координатами х, независимо от того, когда пользователь нажимает. Если вы представляете плоскость x y, в центре которой находится центр экрана, снаряд будет летать только в места в квадрантах справа от начала координат. Если пользователь касается точки слева два, снаряд летит в противоположном направлении, на том же наклоне, что и отношение касания к исходной точке. .... .........? Любые идеи, заранее спасибо

1 Ответ

2 голосов
/ 11 ноября 2011

Вы должны учитывать знаки координат X и Y при расчете отношения.Это источник вашей проблемы.

Carthesian coordinate system with coordinate signs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...