CCRotateTo и CCRotateBy различие - PullRequest
4 голосов
/ 12 марта 2011
//CCRotateBy
id action=[CCRotateBy actionWithDuration:1.0 angle:45];
[player runAction:action];

//CCRotateTo
id action=[CCRotateTo actionWithDuration:1.0 angle:45];
[player runAction:action];

два приведенных выше кода дают одинаковые результаты ... Мне нужно знать разницу между использованием rotateTo и rotateBy ... пожалуйста, посоветуйте ...

Ответы [ 2 ]

14 голосов
/ 12 марта 2011

CCRotateTo поворачивает объект на указанный угол, в то время как CCRotateBy поворачивает объект на его текущий угол + указанный угол. Они будут эквивалентны, если начальное вращение вашего объекта равно 0. Однако, если его начальный угол был 90, CCRotateTo повернул бы его на угол 45, а CCRotateBy повернул бы его на угол 135.

2 голосов
/ 28 октября 2012

CCRotateBy также очень удобен, когда дело доходит до постоянно вращающихся спрайтов:

CCSprite *halo = [CCSprite spriteWithFile:@"halo.png"];
[halo setOpacity:160];
CCRotateTo * rotRight = [CCRotateBy actionWithDuration:0.5 angle:40.0];
[halo runAction:[CCRepeatForever actionWithAction:rotRight]];

с действием CCRotateBy вам никогда не нужно думать о каких-либо углах ...

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