Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Движение объекта при нажатии на кнопку (http://www.flasher.ru/forum/showthread.php?t=133216)

sanechichek 30.11.2009 04:22

Движение объекта при нажатии на кнопку
 
Тупой вопрос и наверное много раз уже спрашивали, но я не могу найти,а что нахожу не могу понять.
Делаю анимацию что бы при нажатии на кнопку №1, шарик1 начинал котится ударальса об стенку и начинал котитса назад,а при нажатии на кнопку №2, шарик2 делал тоже самое только нужно что бы у него менялась скорость после столкновения. Только это мне нужно полносью решить через ActionScript 3.0(а не просто создать покадровую анимацию).

function Dvigenie1() {
shar1.x = shar1.x+100;
}

knopka1.addEventListener(MouseEvent.CLICK,Dvigenie1);

Что нужно дописать что бы шар двигался так как я описал, а не просто появлялся в указаном месте?

daniral 30.11.2009 05:03

Ну я думаю поставить таймер.
При нажатии на кнопку запускать таймер и в таймере прибавдять Х.
Код AS1/AS2:

var timer1:Timer = new Timer(0);
timer1.addEventListener(TimerEvent.TIMER, timerD);
 
function Dvigenie1()
{
      timer1.start();
 
}

Функция таймера
Код AS1/AS2:

function timerD(e:TimerEvent):void
{
        shar1.x +=10;
}

Для 2-го шара сделать 2-й таймер(timer2)

SamFR 30.11.2009 12:56

Цитата:

Сообщение от daniral (Сообщение 869204)
Ну я думаю поставить таймер.

Раз уж анимация, то почему таймер, а не Event.ENTER_FRAME? Я вас не понимаю :)

Jewelz 30.11.2009 13:01

юзайте Tweener, почитайте документацию - там найдете все, что вам требуется

sanechichek 30.11.2009 17:10

Я так и не понял как работать с Tweener

Добавлено через 24 минуты
С таймером то все понятно, только не понятно как прекратить выполнение, а вот Event.ENTER_FRAME не понимаю. ПОМОГИТЕ пожалуйста разобратся.

Jewelz 30.11.2009 17:44

Цитата:

Сообщение от sanechichek (Сообщение 869297)
Я так и не понял как работать с Tweener

Код AS3:

knopka1.addEventListener(MouseEvent.CLICK, onClick);
 
private function onClick(e:MouseEvent):void
{
  Tweener.addTween(shar1, {x:shar1.x + 100, time:1, transition:"linear", onUpdate:updateFunc, onComplete:completeFunc});
}
 
// shar1 - что двигаем
// x (можно и другие свойства - см доки) - что меняем
// time - за какое время произойдет анимация
// transition - переход(вариации в доках)
// updateFunc - функция, вызываемая каждый раз, когда параметр поменяет значение
// completeFunc - функция, вызываемая в конце анимации

не забудьте скачать класс Tweener и сделать import его

sanechichek 30.11.2009 19:02

скачал Tweener.as вставил у папку fl/transitions.
в коде прописываю import fl.transitions.Tweener;
говорит что файл Tweener не найден(((


Часовой пояс GMT +4, время: 11:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.