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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.05.2008, 03:03
blacks вне форума Посмотреть профиль Отправить личное сообщение для blacks Найти все сообщения от blacks
  № 1  
Ответить с цитированием
blacks
[+3 17.12.07]
[+3 04.04.08]

Регистрация: Oct 2007
Сообщений: 42
По умолчанию Рандомное движение и альфа 3х мувиков

Привет всем!

Задачка и условия задачки

есть 3 мувика - текст.
они вставлены в мувик text_mc, каждый в своем слое.

очень нужен небольшой скрипт который:
рандомно плавно передвигал мувики-объекты в облости 200х200пикс.
рандомно плавно увеличивал а потом уменьшал видимость мувиков-объектов.

- должен получиться эффект переплитающихся, появляющихся и исчезающих 3х слов.

... возможно еще добавить блюр эффект.. но думаю если будет пример то справлюсь.

Код:
_root.text01_mc._x = random(2)+470;
Код:
text01_mc.onEnterFrame=function(){
if(jtext01_mc._alpha<100){
text01_mc._alpha+=random(27)+75;
} else{
//delete this.onEnterFrame;
}
}
- данные коды пока не мне не очень помогли...

.... помоги скриптиком..
Всем откликнувшимся большое спасибо!

Старый 25.05.2008, 07:47
blacks вне форума Посмотреть профиль Отправить личное сообщение для blacks Найти все сообщения от blacks
  № 2  
Ответить с цитированием
blacks
[+3 17.12.07]
[+3 04.04.08]

Регистрация: Oct 2007
Сообщений: 42
Вот нашел в инете один пример-исходник:
rnd_movie_original.fla

Изменил его:
rnd_movie_text.fla
- но после того как оригинал переместил в мувик все стало очень быстро дергатьсяв.

Вот пример того что хочеться сделать
rnd_movie_demo.swf
(пример собран в анимации "методом ручек", количество кадров увеличено для скорости отображения)


Также нашел нижеследующие варианты-части от которых наверно стоит отталкиваться.
Но.. ничего толком в них не понимаю.
Возможно имея приведенный выше пример и коды ниже вам будет легче помочь мне.
Ребятки... очень нужно уменьшить вес ролика переделав все в рандом помогите плиз :clap: !!

Код 1:
Код:
var arraySpeed:Array = [5, 10, 15];
var speed:Number = arraySpeed[Math.floor (Math.random () * 3)];
stars.onEnterFrame = function () {
	this._x += speed;
};
Код 2:
Код:
var w:Number =Stage.width;
var h:Number = Stage.height;

var dx:Number = 5;
var dy:Number = 5;


function move():Void{
     mc.onEnterFrame = function(){
          if(_x>(w-_width/2) || _x<_width/2){
               dx *= -1;
               //проиграть звук
          }

          if(_y>(h-_height/2) || _y<_height/2){
               dy *= -1;
               //проиграть звук
          }
          _x += dx;
          _y += dy;
     }
}

move();

Код 3:
Код:
function randAlpha(min:Number, max:Number):Number {
    var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
    return randomNum;
}

function randMove(xPos:Number, yPos:Number):Number {
 
   _global.xPosition;
   _global.yPosition;
   
   a=randAlpha(-2,2);
   b=randAlpha(-2,2);
  
  xPosition=xPos+a;
  yPosition=yPos+b;

  xPosition+=a;
  yPosition+=b;
}
Код 4:
Код:
mc.onEnterFrame = function zzz(){
mc._x = random(200-mc._width);
mc._alpha = random(50)+50;
}

/// - плюс нужно както добавить нижеследующие

function zzz (параметры перемещения) {
...
описание функции
...
}
setInterval (zzz,интервал вызова функции, параметры перемещения);
Вложения
Тип файла: zip rnd_movie_demo.zip (11.9 Кб, 106 просмотров)
Тип файла: zip rnd_movie_original.zip (2.8 Кб, 97 просмотров)
Тип файла: zip rnd_movie_text.zip (3.9 Кб, 76 просмотров)

Старый 25.05.2008, 11:01
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 3  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Есть такой класс - Tween. (flash.transitions.Tween)
Почитать о нем можно в хэлпе. Там же есть пример, как заставить шарик переместиться из 1 позиции в другую. Ага!!!
Далее находим хэлп по событию onMotionFinished
Как только движение заканчивается, вызываем новое движение и повторяем все по кругу. Можно пользоваться setInterval и делать метод continueTo();
Сделали, что надписи мечуться. Теперь размер и альфа?
Делаем аналогичные оперции с размером. Причем, чем больше мы увеличиваем размер, тем больше увеличиваем альфу. И наоборот. Добавляем блюр и вуаля - наша мечта воплотилась в жизнь!

Старый 25.05.2008, 15:40
blacks вне форума Посмотреть профиль Отправить личное сообщение для blacks Найти все сообщения от blacks
  № 4  
Ответить с цитированием
blacks
[+3 17.12.07]
[+3 04.04.08]

Регистрация: Oct 2007
Сообщений: 42
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Есть такой класс - Tween. (flash.transitions.Tween)
Почитать о нем можно в хэлпе. Там же есть пример, как заставить шарик переместиться из 1 позиции в другую. Ага!!!
Далее находим хэлп по событию onMotionFinished
Как только движение заканчивается, вызываем новое движение и повторяем все по кругу. Можно пользоваться setInterval и делать метод continueTo();
Сделали, что надписи мечуться. Теперь размер и альфа?
Делаем аналогичные оперции с размером. Причем, чем больше мы увеличиваем размер, тем больше увеличиваем альфу. И наоборот. Добавляем блюр и вуаля - наша мечта воплотилась в жизнь!
Примерно понял как...
Но вот с setInterval еще не знаком.

Главное: в какой-то статье читал что применение класса flash.transitions.Tween увеличивает ролик на 5кб... мне это немного критично - нужно сделать все как можно меньше по размеру.

А приведенный пример никак не получиться до ума довести?

Старый 25.05.2008, 21:23
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Вот Вам примерчик. Попытки прикрутить блюр привели к краху Флэш CS3 ))))
Думаю, количество необходимых рассчетов при плавающих альфах, блюре и позициях слегка зашкаливает. Ну и руки у меня не всегда оттуда растут)))
Если прикрутите, будет Вам счастье.
Вложения
Тип файла: rar tag_clouds.rar (7.4 Кб, 115 просмотров)
__________________
Reality.getBounds(this);

Старый 26.05.2008, 05:14
blacks вне форума Посмотреть профиль Отправить личное сообщение для blacks Найти все сообщения от blacks
  № 6  
Ответить с цитированием
blacks
[+3 17.12.07]
[+3 04.04.08]

Регистрация: Oct 2007
Сообщений: 42
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Вот Вам примерчик.

ОГОРОМНОЕ спасибо! Отлично!

Вот немного попытался доработать код.. но что-то не получается:
1. блю вообще не работает.
2. размер меняется хаотично... - как сделать чтоб рандомный размер мувиков менялся пропорционально (ширина и высота)

СПАСИБО!

Код:
import flash.filters.BlurFilter;

xmin = 0
xmax = 150
ymin = 0
ymax = 40
//alpha
amin = 100
amax = 100
// scale
smin = 100
smax = 100
tmin = 90
tmax = 100
//blur
bmin = 0
bmax = 100

t1_mc.complet = t2_mc.complet = t3_mc.complet = true
//
generateCell (t1_mc);
generateCell (t2_mc);
generateCell (t3_mc);
//
t1_mc.onEnterFrame = t2_mc.onEnterFrame = t3_mc.onEnterFrame = function () {
	this.complet = Math.ceil(this._x) == this.xcell && Math.ceil(this._y) == this.ycell;
	this.complet ? generateCell(this) : moveIt(this);
};
//
//t1_mc.filters = [new BlurFilter(2,2,2)];
//t2_mc.filters = [new BlurFilter(2,2,2)];
//t3_mc.filters = [new BlurFilter(2,2,2)];


//
function moveIt (mc:MovieClip) {
	mc._x = mc._x + (mc.xcell - mc._x)/20
	mc._y = mc._y + (mc.ycell - mc._y)/20
	mc._alpha = mc._alpha + (mc.acell - mc._alpha)/16
	
_yscale = _xscale;
	mc._yscale = mc._yscale + (mc.scell - mc._yscale)/20
	mc._xscale = mc._xscale + (mc.tcell - mc._xscale)/20

filter.blurY = filter.blurX;
mc.blurY = mc.blurY + (mc.bcell - mc.blurY)/4

};
//
function generateCell (target:MovieClip) {
	target.acell = Math.random()*(amax-target._alpha - amin)+ amin;
	target.bcell = Math.random()*(bmax-target.blurY - bmin)+ bmin;

	xxx = Math.random()*(xmax-target._width - xmin)+ xmin;
	yyy = Math.random()*(ymax-target._height - ymin)+ ymin;
	target.xcell = Math.ceil(xxx);
	target.ycell = Math.ceil(yyy);

xxx = Math.random()*(smax-target._width - smin)+ smin;
yyy = Math.random()*(tmax-target._height - tmin)+ tmin;
target.scell = Math.ceil(xxx);
target.tcell = Math.ceil(yyy);

	
};
----------------------
Добавил позже: анимация блюра и размеров должна быть плавной и пропорциональной.


Последний раз редактировалось blacks; 26.05.2008 в 19:25.
Старый 29.05.2008, 20:28
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну, должна-не должна, уж как получилось))))
p.S. Будете переделывать - сохраняйтесь всё время, флэш вылетает постоянно при тестировании. После того как добавил удаление фильтра, стало значительно стабильнее, но пару раз таки свернулся))))
Вложения
Тип файла: rar tag_clouds_blur+alpha+scale.rar (6.8 Кб, 119 просмотров)
__________________
Reality.getBounds(this);

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

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

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


 


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


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