![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Здравствуйте.
Нужно с помощью кода сделать так, чтобы черный фон наполнился звездами. Пусть это будут хоть квадратики. Алгоритм понимаю: сделать цикл создания или загрузки из библиотеки объекта (graphic или mc) и случаным образом разместить по экрану. Как это все выглядит в Action Script? Можно ли объект создать в процессе выполнения скрипта или он должен уже лежать в Library? Может ли этот объект быть graphic или обязательно movieClip? У меня есть уже в Library movieClip внутри которого лежит graphic белый квадрат. Пробую через цикл загружать его: onClipEvent(load) { for ( i=0; i<200; i++)
{
attachMovie ("Star", "Star" + i, i, {_x:100, _y:100});
};
}
Пусть они упадут в одно и тоже место, но хоть один то должен быть виден - размер мувика с квадратом 10х10 пикселей.Подскажите, пожалуйста, что я делаю неправильно. И еще вопрос: как потом получить доступ к любому из этих образцов Star+i. Ну, например, чтобы поменять координаты. Заранее благодарен. Последний раз редактировалось iNils; 21.01.2007 в 16:49. |
|
|||||
|
1. Код надо обрамлять тегами , в твоем коде в таком виде даже разбираться не хочется.
2. Создаешь мувиклип на сцене, после в нем делаешь маленькую точку, делаешь точку мувиклипом с именем dot. После в начальном мувиклипе (в которым находится мувик dot) в кадре прописываешь: var i:Number = 0;
for (i=0; i<400; i++) {
duplicateMovieClip(dot,"dot"+i,i);
this["dot"+i]._x = random (1200)
this["dot"+i]._y = random (1200)
this["dot"+i]._alpha = random(100);
this["dot"+i].onEnterFrame = function () {
this._x -= random(4)/20;
this._y -= random(4)/20;
}
}
Это чтобы кружащими звездами фон отделать. |
|
|||||
|
Спасибо за все!
За критику, за метод, за синтаксис! Ну и за проявленную инициативу! Красиво и величественно движутся звезды! Спасибо! ![]() |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Цитата:
1200 - условное число, поставь другое = размер клипа + ширина звезды |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
MINASTIS, а почему нельзя было сделать ссылку на мувик, а не использовать прямой доступ, который медлителен?
|
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
duplicateMovieClip не надо.
не надо onClipEvent. это устарело. Сабж. можно сделать хотя бы следующим образом: 1) рисуем черный прямокгольник без рамки на всю сцену, ctrl+k и выравниваем его. 2) кликаем на нем дважды, F8 -> мувиклип с точкой опоры слева вверху. 3) на основной линейке времени с помощью панели свойств даем клипу имя, допустим bg. Эти операции необходимы, чтобы звезды падали именно на задний план. Далее рисуем звезду, F8, мувиклип с опорой по центру, в библитеке присваиваем ей linkage "star", со сцены убираем. По дороворенности флешеры с большой буквы пишут только имена классов. код в первом кадре на основной временной шкале: var count:Number = 200;
var initObj:Object = new Object();
while( count-- > 0){
initObj._x = Math.random()*Stage.width;
initObj._y = Math.random()*Stage.height;
initObj._xscale = initObj._yscale = Math.random()*200 + 100;
initObj._rotation = Math.random()*360;
bg.attachMovie("star", "star"+count, count, initObj );
}
..
// initObj._rotation = Math.random()*360;
initObj.onEnterFrame = function () {
var rand:Number = Math.random();
if( rand > .8 ) this._y+= .1;
else if( rand > .6 ) this._y-= .1;
else if( rand > .4 ) this._x-= .1;
else if( rand > .2 )this._x +=.1;
}
..
ps:: обращаться как bg["star" + i] из рута или _root.bg["star" + i] откуда угодно Последний раз редактировалось Kikasso; 20.01.2007 в 14:27. |
|
|||||
|
__etc я не занимался Флешем пол-учебного года как в универ поступил. Если ты пояснишь что ты имел ввиду, я буду благодарен за восстановление знаний и выявление моих ошибок.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Это упростило бы задачу. Буду знать. Спасиб.
По теме:Amra Kimmerian, был рад помочь со звездами =) |
|
|||||
|
Kikasso хорошее дополнение, я действительно забыл, что они только на определенное время и на определенную площадь.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|