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

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

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

Регистрация: Jul 2001
Адрес: ТОМСК
Сообщений: 138
По умолчанию как сделать звездопад?

такой - как буд то космический корабль несётся и звёзды летят на встречу.
понимаю что это уже обсуждалось и сам вопрос не особо сложный.
подскажите плиз....
вот сделал типа того:

onEnterFrame = function ()
{for (i=0;i<100;i++)
{star.duplicateMovieClip("star"+i,i)

}
eval("star"+i)._x+=900*Math.random
eval("star"+i)._y+=215*Math.random
}

вот как сделать чтоб звёзды летели не только в одну сторону, а из центра причём из нескольких точек?


Последний раз редактировалось GENOCID; 24.01.2006 в 15:07. Причина: добавление
Старый 24.01.2006, 18:39
AleXNoD GD вне форума Посмотреть профиль Отправить личное сообщение для AleXNoD GD Посетить домашнюю страницу AleXNoD GD Найти все сообщения от AleXNoD GD
  № 2  
Ответить с цитированием
AleXNoD GD
 
Аватар для AleXNoD GD

Регистрация: Jan 2006
Адрес: Минск
Сообщений: 195
Отправить сообщение для AleXNoD GD с помощью ICQ
Код:
stars = new Array();
_root.onEnterFrame = function() {
	//НОВУЮ ДЕЛАЕМ
	lev++;
	stars.push(attachMovie("star", "star", lev));
	stars[stars.length-1]._rotation = random(360);
	stars[stars.length-1].sp = 0;
	stars[stars.length-1]._x = 275;
	stars[stars.length-1]._y = 200;
	//ДВИГАЕМ СТАРУЮ
	for (i=0; i<stars.length; i++) {
		stars[i]._x += stars[i].sp*Math.sin(stars[i]._rotation*(Math.PI/180));
		stars[i]._y -= stars[i].sp*Math.cos(stars[i]._rotation*(Math.PI/180));
		stars[i].sp += 0.2;
		stars[i]._xscale = stars[i]._yscale += stars[i].sp;
		if (stars[i]._x>550 || stars[i]._x<0 || stars[i]._y>400 || stars[i]._y<0) {
			stars[i].removeMovieClip();
			stars.splice(i, 1);
		}
	}
};

Старый 24.01.2006, 19:26
Ata вне форума Посмотреть профиль Отправить личное сообщение для Ata Посетить домашнюю страницу Ata Найти все сообщения от Ata
  № 3  
Ответить с цитированием
Ata

Регистрация: Jun 2005
Адрес: KharkoFF
Сообщений: 63
Отправить сообщение для Ata с помощью ICQ
в начале не забудь написать:
Код:
var lev:Number = 0;

Старый 24.01.2006, 21:49
GENOCID вне форума Посмотреть профиль Отправить личное сообщение для GENOCID Найти все сообщения от GENOCID
  № 4  
Ответить с цитированием
GENOCID

Регистрация: Jul 2001
Адрес: ТОМСК
Сообщений: 138
не работает чего то

Старый 24.01.2006, 22:35
AleXNoD GD вне форума Посмотреть профиль Отправить личное сообщение для AleXNoD GD Посетить домашнюю страницу AleXNoD GD Найти все сообщения от AleXNoD GD
  № 5  
Ответить с цитированием
AleXNoD GD
 
Аватар для AleXNoD GD

Регистрация: Jan 2006
Адрес: Минск
Сообщений: 195
Отправить сообщение для AleXNoD GD с помощью ICQ
Надо нарисовать кружок, сделать его МовиеКлипом, назвать его "star" и указать в компоновке экспорт для экшн скрипта.
__________________
Русские флеш игры

Старый 24.01.2006, 22:38
AleXNoD GD вне форума Посмотреть профиль Отправить личное сообщение для AleXNoD GD Посетить домашнюю страницу AleXNoD GD Найти все сообщения от AleXNoD GD
  № 6  
Ответить с цитированием
AleXNoD GD
 
Аватар для AleXNoD GD

Регистрация: Jan 2006
Адрес: Минск
Сообщений: 195
Отправить сообщение для AleXNoD GD с помощью ICQ
Да и кстати вот так даже красивее получается:

Код:
stars = new Array();
var lev:Number = 0;
function snow() {
	//СОЗДАЕМ ЗВЕЗДУ
	lev++;
	stars.push(attachMovie("star", "star", lev));
	stars[stars.length-1].rotation = random(360);
	stars[stars.length-1].sp = 0;
	stars[stars.length-1]._x = random(550);
	stars[stars.length-1]._y = random(400);
	stars[stars.length-1].dRot = random(10)-5;
	stars[stars.length-1].dSp = (random(15)+1)/10;
	//ДВИГАЕМ ВСЕ СОЗДАННЫЕ ЗВЕЗДЫ
	for (i=0; i<stars.length; i++) {
		stars[i].rotation2 = -Math.atan2(stars[i]._x-_xmouse, stars[i]._y-_ymouse)/(Math.PI/180);
		stars[i].sp2 = Math.sqrt(Math.pow(stars[i]._x-_xmouse, 2)+Math.pow(stars[i]._y-_ymouse, 2));
		//
		stars[i]._x += stars[i].sp*Math.sin(stars[i].rotation*(Math.PI/180))+stars[i].sp2/20*Math.sin(stars[i].rotation2*(Math.PI/180));
		stars[i]._y -= stars[i].sp*Math.cos(stars[i].rotation*(Math.PI/180))+stars[i].sp2/20*Math.cos(stars[i].rotation2*(Math.PI/180));
		stars[i].sp += stars[i].dSp;
		stars[i].rotation += stars[i].dRot;
		stars[i]._xscale = stars[i]._yscale += stars[i].sp;
		if (stars[i]._x>550 || stars[i]._x<0 || stars[i]._y>400 || stars[i]._y<0) {
			stars[i].removeMovieClip();
			stars.splice(i, 1);
		}
	}
}
_root.onEnterFrame = function() {
	snow();
};
__________________
Русские флеш игры


Последний раз редактировалось AleXNoD GD; 24.01.2006 в 22:41.
Старый 25.01.2006, 00:19
Ieshua вне форума Посмотреть профиль Отправить личное сообщение для Ieshua Найти все сообщения от Ieshua
  № 7  
Ответить с цитированием
Ieshua

Регистрация: May 2004
Адрес: Москва
Сообщений: 76
2AleXNoD GD
хм....странно скрипт работает твой

Не ахти конечно, но тоже как вариант:
www.ign.net.ru/works/stars.html
исходник:
www.ign.net.ru/works/stars.rar
__________________
Улыбка - понятие растяжимое...

Старый 25.01.2006, 02:50
AleXNoD GD вне форума Посмотреть профиль Отправить личное сообщение для AleXNoD GD Посетить домашнюю страницу AleXNoD GD Найти все сообщения от AleXNoD GD
  № 8  
Ответить с цитированием
AleXNoD GD
 
Аватар для AleXNoD GD

Регистрация: Jan 2006
Адрес: Минск
Сообщений: 195
Отправить сообщение для AleXNoD GD с помощью ICQ
2Ieshua

Чего тут странного... Работает как работает -) Добавляем клипы в массив и с помощью этого массива заправляем ими. Можно и без массива, но тут удалять сложнее их будет Скрипт конечно далеко не идеал, но нечто похожее на полет вроде как есть.

Только тот, что выше - полет, а нижний - сам не знаю что (просто красиво).

Зашел на линку. Красивая вещь, не спорю. Но там частицы наобоорт замедляют скорость к концу пути своего. Искажение пространства =)))
__________________
Русские флеш игры

Старый 25.01.2006, 07:35
GENOCID вне форума Посмотреть профиль Отправить личное сообщение для GENOCID Найти все сообщения от GENOCID
  № 9  
Ответить с цитированием
GENOCID

Регистрация: Jul 2001
Адрес: ТОМСК
Сообщений: 138
точно работает) спасибо.
забыл указать грузить для AS/

Старый 26.01.2006, 09:45
GENOCID вне форума Посмотреть профиль Отправить личное сообщение для GENOCID Найти все сообщения от GENOCID
  № 10  
Ответить с цитированием
GENOCID

Регистрация: Jul 2001
Адрес: ТОМСК
Сообщений: 138
подскажите ещё пожалуйста,
как сделать что б этот звезопад был в каком то определённом слое.
у меня он идёт поверх всего, а не в том слое где AS написан.

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

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

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


 


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


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