![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2012
Сообщений: 22
|
написал не большой код который поворачивает картинку по нажатию на кнопку, но мне нужно чтобы при нажатии картинка не сразу отображалась повёрнутой на N градусов а делала это в цикле постепенно. пробовал прикрутить topCont.rotationY+=4 for, картинка также отображается сразу повёрнутой на N*4,
видимо нужно как то обновлять Sprite в topCon... помогите разобраться import flash.events.MouseEvent; //Предворительно добавляю картинку в библиотеку и импортирую её в as с именем Shuttle var imgBD:BitmapData=new Shuttle(160,160); var topImg:Bitmap=new Bitmap(imgBD); var topCont:Sprite=new Sprite(); topCont.addChild(topImg); topCont.z=0; topCont.x=250; topCont.y=150; addChild(topCont); buttan.addEventListener(MouseEvent.CLICK, turn); function turn(e:MouseEvent):void{ topCont.rotationY+=4; } |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 125
|
Плавный поворот:
1) Событие клика по кнопке. 2) Запуск таймера или слушание ENTER_FRAME. 3) Изменение rotation на некоторую небольшую величину в каждый тик таймера или переход кадра, и проверка, достигла ли величина rotation требуемого угла поворота. Если достигла, то остановка таймера или отписка от ENTER_FRAME. Точка регистрации - это субъективное понятие в Adobe Flash, как и слои. Задавая координаты x и y объекту, вы управляете его положением относительно контейнера, в котором он находится. buttan - это государство или химическое соединение на основе углерода =) А вот button - кнопка. |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 297
|
import flash.events.MouseEvent; import flash.events.Event; //Скорость изменения угла поворота: var speedRotation:Number = 1; //Предыдущий угол поворота: var previosAngle:Number = 0; //Расстояние, которое объект должен повернуть (пройти): var distance:Number = 4; //Определяю событие нажатия кнопки мыши: stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown); function mouseDown(event:MouseEvent):void { //Изменяю значение переменной (добавляю угол поворота объекта сложенного вместе с расстоянием): previosAngle = myObject.rotation + distance; } //Определяю событие обновления кадров: stage.addEventListener(Event.ENTER_FRAME, updateFrames); function updateFrames(event:Event):void { //Если угол поворота у объект меньше, чем у previosAngle, то: if(myObject.rotation < previosAngle) { //Изменяю угол поворота у объекта (поворачиваю его направо): myObject.rotation += speedRotation; } } |
|
|||||
|
Регистрация: Oct 2012
Сообщений: 22
|
всё стало ясно, спасибо всем. И отдельное спасибо Dip52
З.Ы spirit2, поржал)) |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:22. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|