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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 14.07.2012, 04:07
MINASTIS вне форума Посмотреть профиль Отправить личное сообщение для MINASTIS Посетить домашнюю страницу MINASTIS Найти все сообщения от MINASTIS
  № 1  
Ответить с цитированием
MINASTIS
 
Аватар для MINASTIS

Регистрация: Jan 2006
Адрес: Сургут
Сообщений: 897
Отправить сообщение для MINASTIS с помощью Skype™
По умолчанию Как сделать частицы летящими словно их колышет ветер?

Я сделал движущиеся частицы, чтобы этот код работал, достаточно в библиотеке создать клип с именем flake

Как вы видите, у меня с моими частицами несколько проблем.
Во первых, я хотел их сделать как-бы вылетающими справа, из-за экрана, и летящими влево. Со временем с помощью рандома и числа я сделаю еще и их исчезновение.
Тут проблема в том, что я не знаю, как определить ширину экрана пользователя, или ширину экрана swf в данный момент. А если это все будет бэкграундом сайта - там тоже - как определить правый край?
Поэтому на данный момент в плане координат появления частиц все криво. Прямые грубые числа которые никуда не подходят кроме как для теста.

Я хотел сделать движение как-бы каждой частицы в разную точку на оси _y.
Получился бы эффект словно их колыхает ветер (хотя на самом деле просто разные точки в немножечко разные _y летят). Я пробовал просто изменить скорость плюса к this._y, но получалась свистопляска вместо красивого полета
Я буду рад любым идеям или даже намекам.

Тут можно посмотреть swf как он есть по коду ниже: http://www.swfcabin.com/open/1342215422

Код AS1/AS2:
this.onEnterFrame = function()
{
	var mspeed:Number = new Number();
	var ran:Number = new Number();
	var toy:Number = new Number();
	//tox = random(500);
	mspeed = random(6);
	ran = random(20);
	if (mspeed==0) {
		mspeed=1;
	}
	if (ran==1) {
		mspeed=20;
	} 
	toy = -200+random(800);
	n = this.getNextHighestDepth();
	flak = attachMovie("flake", "flake" + n, n);
	flak._x = 700;
	flak._y = random(1700);
	flak._alpha = random(100);
	flak._xscale = random(60);
	flak._yscale = flak._xscale;
	//tox:Number = new Number();
 
	//flak.filters = [blur];
	flak.onEnterFrame = function()
	{
		this._x-=mspeed;
 
		this._y+=(mspeed/1.2);
 
	};
};

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

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

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


 


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


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