Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.06.2008, 13:59
Rufio вне форума Посмотреть профиль Отправить личное сообщение для Rufio Найти все сообщения от Rufio
  № 1  
Ответить с цитированием
Rufio

Регистрация: May 2008
Сообщений: 5
По умолчанию Плавное увеличение рисунка в мувиклипе при наведении мыши, и уменьшение при отведении

Здравствуйте,
Совсем недавно пришлось перейти на actioscript 3.0, и нет пока навыков. Проблема такая:
Раньше на actioscript 2.0 я писала код с import mx.transitions.Tween и т.п. для легкого увеличения мувика при наведении мыши и уменьшении при отведении. На actioscript 3.0 это уже не срабатывает. Не знаю, что сделать. Может, проблема в синтаксисе или писать уже нужно совсем другое в коде? В голове уже такая путаница, что из кусочков такой код мне не собрать для actioscript 3.0.

Могли бы вы помочь мне с этой проблемой? Показать пример файла с кодом, или выслать линк на подробный туториал?

Спасибо!

Старый 18.06.2008, 00:07
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 2  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Да эти устаревшие технологии срабатывают, но зачем они? actioscript 3.0 инструмент покруче.
легко и просто пользоваться специальным классом
Animator
Что бы увеличить мувик с инстанс именем например my_mc достаточно написать простой код
Код:
import fl.transitions.*;
import fl.transitions.easing.*;


var m_out_trigger:Boolean=true;
import fl.motion.Animator;
import fl.motion.MotionEvent;

var abox_xml_big:XML = <Motion duration="10" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*">
    <Keyframe index="0" x="0" y="0" scaleX="1" scaleY="1" rotation="0">

        <tweens>
            <SimpleEase ease="0.8"/>
        </tweens>
    </Keyframe>

    <Keyframe index="9" x="0" y="0" scaleX="3" scaleY="3" rotation="0"/>
</Motion>;
var abox_animator:Animator = new Animator(abox_xml_big, my_mc);
Комментировать? Или нет? Вот в чем вопрос...
Теперь, что бы мувик начал плавно увеличиваться нужно запустить функцию
Код:
abox_animator.play();
Как же его плавно уменьшить? Думать долго не целесообразно...
Код:
var abox_xml_small:XML = <Motion duration="10" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*">
    <Keyframe index="0" x="0" y="0" scaleX="3" scaleY="3" rotation="0">

        <tweens>
            <SimpleEase ease="0.8"/>
        </tweens>
    </Keyframe>

    <Keyframe index="9" x="0" y="0" scaleX="1" scaleY="1" rotation="0"/>
</Motion>;


var abox_animator_small:Animator = new Animator(abox_xml_small, my_mc);

abox_animator_small.play();//эту функцию нужно вызвать по необходимости она уменьшит
http://dnadillo.dn.ua/fla/js-swf-htm...e-on-scale.swf
http://dnadillo.dn.ua/fla/js-swf-htm...e-on-scale.zip

Старый 18.06.2008, 20:13
ALiEN_ вне форума Посмотреть профиль Отправить личное сообщение для ALiEN_ Посетить домашнюю страницу ALiEN_ Найти все сообщения от ALiEN_
  № 3  
Ответить с цитированием
ALiEN_
UFO
 
Аватар для ALiEN_

Регистрация: Jul 2007
Сообщений: 173
используй класс Tweener http://code.google.com/p/tweener/downloads/list

Старый 19.06.2008, 00:39
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 4  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 613
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
2 Alex Lexcuk: ты всегда для простого увеличения одного объекта, пишешь так много xml и текста? Или только другим советуешь?

Старый 19.06.2008, 13:01
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 5  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Простое увеличение в три раза делается так
Код:
my_mc.scaleX=my_mc.scaleY=3;
А плавное увеличение в три раза за 9 кадров делается с использованием xml, но всегда писать их не нужно, можно один раз написать и пользоваться ими сколько нужно, можно даже засунуть их в отдельный класс, назвать его caurinaMegaLite и сувать всем кому ни попадя.

Старый 19.06.2008, 13:56
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 6  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Плавное увеличение делается в две строчки.
Код:
new Tween(mc, "width", easingFunction, mc.width, mc.width*3, fadeTime, true);
new Tween(mc, "height", easingFunction, mc.height, mc.height*3, fadeTime, true);
__________________
тонкий тролль, осеянный благодатью

Старый 22.06.2008, 18:24
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 7  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Код:
import fl.transitions.Tween;
import fl.transitions.easing.*;

box.addEventListener( MouseEvent.ROLL_OUT, mouseListener );
box.addEventListener( MouseEvent.ROLL_OVER, mouseListener );
box.buttonMode = true;

function mouseListener( event:MouseEvent ):void
{
   switch( event.type )
      {
         case MouseEvent.ROLL_OVER:
            new Tween( box, "scaleX", Strong.easeOut,  box.scaleX, 1.5, .50, true );
            new Tween( box, "scaleY", Strong.easeOut, box.scaleY, 1.5, .50, true );
         break;
			
         case MouseEvent.ROLL_OUT:
            new Tween( box, "scaleX", Strong.easeOut, box.scaleX, 1.0, .50, true );
            new Tween( box, "scaleY", Strong.easeOut, box.scaleY, 1.0, .50, true );
         break;
         }
}

Старый 16.10.2008, 17:15
Makak вне форума Посмотреть профиль Отправить личное сообщение для Makak Найти все сообщения от Makak
  № 8  
Ответить с цитированием
Makak
 
Аватар для Makak

Регистрация: May 2006
Адрес: РБ, Уфа ...
Сообщений: 75
если мувик делаеться программно то при ROLL_OVER он раширяется вправо и вниз, а как его... что бы он равномерно во все стороны ?!?!

Старый 16.10.2008, 17:30
darksranger вне форума Посмотреть профиль Отправить личное сообщение для darksranger Посетить домашнюю страницу darksranger Найти все сообщения от darksranger
  № 9  
Ответить с цитированием
darksranger
 
Аватар для darksranger

блогер
Регистрация: Jun 2007
Адрес: in sankt - peterburg
Сообщений: 787
Записей в блоге: 2
Отправить сообщение для darksranger с помощью ICQ
ну вот, кстате, я вижу прелести в классе Animator

можно описать детальную анимацию ( не вызываю при этом кучу твинов )

вопрос на засыпку
что быстрее будет работать в "жеских" условиях ? класс аниматор или анимация через каурину ( твиновая которая )
__________________
на каком языке вы пишите?
а на каком нужно?

Старый 16.10.2008, 18:23
Xpb7 вне форума Посмотреть профиль Отправить личное сообщение для Xpb7 Найти все сообщения от Xpb7
  № 10  
Ответить с цитированием
Xpb7

Регистрация: Jul 2008
Адрес: Рига
Сообщений: 176
Цитата:
Сообщение от Makak Посмотреть сообщение
если мувик делаеться программно то при ROLL_OVER он раширяется вправо и вниз, а как его... что бы он равномерно во все стороны ?!?!
Ваш програмный мувик по умолчанию имеет точку трансформации в левом верхнем углу своего баундинг бокса.
Поместите програмно созданный мувик в контейнер и выровняйте по центру. Эффект применяйте к контейнеру.

Каурина анимирует плавнее. Alex, я поражаюсь твоим творениям. =)


Последний раз редактировалось Xpb7; 16.10.2008 в 18:32.
Создать новую тему Ответ Часовой пояс GMT +4, время: 18:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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