Перемещение Sprits местоположение с проблемой местоположения - PullRequest
0 голосов
/ 04 мая 2011

Когда я перемещаю свой слой, который содержит все спрайты, путем прокрутки, местоположение спритов не меняется. Я хочу изменить положение моих спритов с помощью прокрутки.пожалуйста, дайте мне какое-нибудь решение для этого.

Заранее спасибо ......

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

если вы перемещаете слой, не перемещая его дочерние спрайты, sprite.position вернет то же значение даже после перемещения слоя, потому что он возвращает его относительно пространства узлов (слоя).Чтобы получить положение спрайта в соответствии с миром или вашей сценой, вам нужно преобразовать его в мировое пространство:

CGPoint worldPosition  = [self convertToWorldSpace:sprite.position];

Я надеюсь, что это отвечает на ваш вопрос, потому что он не был очень ясным.

0 голосов
/ 05 мая 2011
// simple position update
CGPoint a = [[CCDirector sharedDirector] convertToGL:[touch previousLocationInView:touch.view]];
CGPoint b = [[CCDirector sharedDirector] convertToGL:[touch locationInView:touch.view]];
CGPoint nowPosition = scrollLayer.position;
nowPosition.y += ( b.y - a.y );
nowPosition.y = MAX( 0, nowPosition.y );
nowPosition.y = MIN(20, nowPosition.y);
scrollLayer.position = nowPosition;

Мой scrollLayer содержит все духи.Это код, по которому мой слой перемещается в новое место.Все спрайты также перемещаются вместе со слоем, но их положение не меняется относительно движения слоя.Когда я касаюсь этой возможности, духи двигаются.Но я хочу коснуться спрайтов для их перемещения.

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