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

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

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

Регистрация: Nov 2005
Сообщений: 3
По умолчанию Поместить на задний план

Подскажите пожалуйста как поместить салют на задний фон?
или поместить другие объекты на передний

http://xn--d1aijpl1f.xn--p1ai/port/04_flash/salut1.html

перемещением по слоям не работает

AS для салюта

Код AS1/AS2:
var x0:Number, y0:Number;// Координаты салюта. К ним полетит "запущенный пушкой снаряд" )
var id:Number;// Таймер повтора залпов
var fireLength:Number=100; //Примерный радиус раскрыва салюта
var colorNum:Number=0;// Счетчик цвета
var colors:Array=[0xFF0000, 0xFFFF00, 0x00CC00, 0xFF9900];
// Массив цветов
zwezda.gotoAndStop(1);
/* Клип с летящей звездочкой. "Внутренняя" анимация выключена, поскольку использовать его бум
в 2-х вариантах. 1 показ траектории полета снаряда. 2 - производитель для дубликатов салюта
************************
ПРОЦЕДУРЫ
************************/
/*Вывод случайного целого числа из заданного диапазона
Пользуем для расчета координат салюта, угла вылета конкретной звездочки и ее массштаба и т.д.*/
function randomNum(min:Number, max:Number):Number{
return Math.floor(Math.random()*(max-min))+min;
}
//Полет снаряда от "пушки" до точки салюта
function shoot(){
clearInterval(id);// Кирдык таймеру
x0=85;// задаем 
y0=75;// координаты салюта
zwezda._x=randomNum(fireLength,(Stage.width-fireLength));//и начальные
zwezda._y=Stage.height-5;// координаты снаряда
zwezda.onEnterFrame=function(){// Полетели...
this._x-=(this._x-x0)/6;// Замедление скорости полета. Не совсем красивое.
this._y-=(this._y-y0)/6;// Лучше пользовать класс "Tween". Оставил для обучения
if((this._y-y0)<3){//Долетели до точки взрыва
this._y=Stage.height+5;// прячем снаряд
delete this.onEnterFrame;// Тормозим полет
createFirework();// Идем взрываться...
}
}
}
//Создание салюта
function createFirework(){
var total:Number=randomNum(50,80);// Кол-во звезд в салюте
var color:Number=colors[colorNum];// Цвет салюта
colorNum++;
colorNum%=colors.length;
for(var i:Number=0;i<total;i++){
var rotator=randomNum(0,360);// Угол вылета звезды
var scale:Number=randomNum(50,150);// Массштаб звезды
var mc:MovieClip=zwezda.duplicateMovieClip('z'+i,this.getNextHighestDepth(),{_x:this.x0, _y:this.y0, _rotation:rotator, _xscale:scale, _yscale:scale});
// Дублируем звезду, ставим в координаты салюта, разворачиваем и массштабируем
new Color(mc).setRGB(color);// Покрасим звездочку
}
// БАБАХ!!!!
id=setInterval(shoot, 1000);// Следующий выстрел, через секунду
}
shoot();// Запуск салюта.

Старый 18.01.2011, 22:33
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Оформите табуляцией, ничего ж непонятно.
А вообще, добавьте салют в статичный контейнер, а этот контейнер на задний план через swapDepths. Иначе придется каждый раз перемещать объекты по глубинам вперед-назад.
__________________
тут я

Старый 18.01.2011, 22:43
DelWin вне форума Посмотреть профиль Отправить личное сообщение для DelWin Найти все сообщения от DelWin
  № 3  
Ответить с цитированием
DelWin

Регистрация: Nov 2005
Сообщений: 3
табуляция тож не работала
а вот контейнер все решил!
Спасибо!

Старый 18.01.2011, 22:46
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Как так табуляция не работала? Хоть по четыре пробела поставьте, если не может таб вставить.
__________________
тут я

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

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

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


 


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


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