![]() |
|
||||||||||
|
|||||
|
Регистрация: 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. Причина: добавление |
|
|||||
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);
}
}
};
|
|
|||||
|
|
|
|||||
|
Регистрация: Jul 2001
Адрес: ТОМСК
Сообщений: 138
|
не работает чего то
|
|
|||||
|
Да и кстати вот так даже красивее получается:
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. |
|
|||||
|
Регистрация: May 2004
Адрес: Москва
Сообщений: 76
|
2AleXNoD GD
хм....странно скрипт работает твой Не ахти конечно, но тоже как вариант: www.ign.net.ru/works/stars.html исходник: www.ign.net.ru/works/stars.rar
__________________
Улыбка - понятие растяжимое... |
|
|||||
|
2Ieshua
Чего тут странного... Работает как работает -) Добавляем клипы в массив и с помощью этого массива заправляем ими. Можно и без массива, но тут удалять сложнее их будет Скрипт конечно далеко не идеал, но нечто похожее на полет вроде как есть.Только тот, что выше - полет, а нижний - сам не знаю что (просто красиво). Зашел на линку. Красивая вещь, не спорю. Но там частицы наобоорт замедляют скорость к концу пути своего. Искажение пространства =)))
__________________
Русские флеш игры |
|
|||||
|
Регистрация: Jul 2001
Адрес: ТОМСК
Сообщений: 138
|
точно работает) спасибо.
забыл указать грузить для AS/ |
|
|||||
|
Регистрация: Jul 2001
Адрес: ТОМСК
Сообщений: 138
|
подскажите ещё пожалуйста,
как сделать что б этот звезопад был в каком то определённом слое. у меня он идёт поверх всего, а не в том слое где AS написан. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|