![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Дамы и господа!
Попытка скромного новогоднего подарка. Если Вы создаете какой-то спрайт, а в дальнейшем хотите иметь вращательный эффект, причем с регулируемым центром, то его центр вращения при будем выглядеть банально - У нас есть грань куба var kub:Sprite = new Sprite(); var kub:Sprite = new Sprite(); kub.graphics.beginFill(0xFF666F); kub.graphics.drawRect(-10, -10, 20, 20); // центр вращения (width - x0, height - y0) kub.x = 250; kub.y = 250; addChild(kub); function onTick(event:TimerEvent):void { kub.x = event.target.currentCount*2; // это поступательное движение, разумеется, kub.y = event.target.currentCount*2; kub.rotation += 15; // а вот это уже вращение } // function onTick(event:TimerEvent):void // создаете // прибавляете Ответ на банальный вопрос: почему я такое считаю откровением? Дела в том, что в справочниках по языку ActionScript 3.0 при описании объектов Sprite, его свойства rotation абсолютно не сказано, как нужно задавать центр вращения. Хотя, разумеется, вращение 3D куба куда более зрелищно... С уважением Влад P.S. Разумеется, я совсем не против переноса темы в другой раздел. Например, "Новогодние поздралвения" Последний раз редактировалось iNils; 01.01.2011 в 18:00. |
|
|||||
|
Что-то не понял, в чем вопрос.... Центр спрайта всегда в начале его координат, а где вы нарисуете графику в нем это уже ваше дело, он в любом случае он будет вертеться относительно своих x:0 y:0
|
|
|||||
|
нарисуйте куб не по центру, а вращение все равно будет вокруг точки 0.0
Добавлено через 10 минут еще раз - вращение происходит вокруг точки 0,0 если вы нарисуете свой куб как: -25,-25,50,50 - вращение по центру 0,0, 50,50 - верхний левый угол -50,-50, 50, 50 - нижний правый угол т.е. как было сказанно выше: Цитата:
|
|
|||||
|
Цитата из справочника:
http://livedocs.adobe.com/flash/9.0/...ay/Sprite.html Цитата:
Если не секрет: как Вы решали эту задачу? Влад |
|
|||||
|
Метод drawRect начинает рисовать с указанных координат, и "растягивает" ширину и высоту в положительном направлении, то есть ширина увеличивается вправо, а высота вниз. Вот и получается что если рисовать квадрат, или прямоугольник из x:0 y:0, то точка вращения визуально выпадает на левый верхних угол нарисованного квадрата.
Последний раз редактировалось samana; 01.01.2011 в 20:14. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|