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

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

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

Регистрация: Aug 2009
Сообщений: 2
Question Помогите с логикой работы

Ув. флешеры, помогите разобраться с логикой работы!
У меня есть флешка, которая содержит в себе n картинок.
Я хочу создать такую анимацию с помощью AS2:
1. Изначально все картинки становятся черно-белыми;
2. При наведении на флешку, все картинки становятся цветными;
3. В обычном режиме картинки в произвольном порядке загораются цветом и гаснут.

Вот с первыми 2 пунктами всё нормально. А с 3 - никак не могу разобраться.
Причина - не могу понять "как это должно работать" на уровне логики.

Вот собственно код флешки:
Код AS1/AS2:
import ru.etcs.filters.*
import mx.transitions.Tween
import mx.transitions.easing
 
var tweenLength:Number = 0.7;
var isInside:Boolean = false;
var ran:Number;
 
for(var i = 1;i<=8;i++){
     this['mc'+i].sat = -100
     this['mc'+i].mc.index = i     
     this['mc'+i].mc.onRollOver = miss
     this['mc'+i].mc.onRollOut = dissappear
     this['mc'+i].mc.onRelease = tweenRand
     this['mc'+i].mc.onEnterFrame = Random
     this['mc'+i].onEnterFrame = doEnterFrame
 
}
 
function miss () {
for(var i = 1;i<=8;i++){
     this._parent.myTween.play()
     _root['mc'+i].myTween.continueTo(0, tweenLength);
     }
}
 
function dissappear () {
     for(var i = 1;i<=8;i++){
          if(this.index!=i){
          tweenMeOut(_root['mc'+i])
          }else{
          tweenMeIn(_root['mc'+i])     
               }
     }
}
function tweenMeOut (mc) {
     mc.myTween = new Tween(mc, "sat", None.easeOut,mc.sat, -100 , tweenLength, true);
}
function tweenMeIn (mc) {
     mc.myTween = new Tween(mc, "sat", None.easeOut,mc.sat, -100 , tweenLength, true);
}
 
function Random(mc){
	ran = random(8)+1;
	trace(ran);
	i = ran;
}
 
function tweenRand (mc) {
	var t:Number=0;
	_root['mc'+i].myTween.continueTo(100, tweenLength);
	t = getTimer()/1000;
	trace(t);
	if(t>15){
	_root['mc'+i].myTween.continueTo(-100, tweenLength);
	}
}
 
function doEnterFrame () {
var color:ColorFilter = new ColorFilter();
     var saturation:Number = color.saturation; 
	 color.saturation = this.sat;
     this.filters = [color];
}

Функции TweenRand и Random - это попытки выполнить пункт №3, но работаю они весьма некорректно. (TweenRand обрабатывается onRelease умышленно, для удобства корректировки ошибок)

Надеюсь на вашу помощь!
Заранее благодарен.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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