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

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

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

Регистрация: Jun 2012
Сообщений: 1
По умолчанию как остановить салют

нашла урок как сделать салют(кстати на этом же форуме)..ну могу найти ту тему, поэтому создала новую
сделала салют вобщем по такому скрипту..в итоге у меня флеш открытка останавливается, когда надо, а салют продолжается...как исправить?
Код AS1/AS2:
var x0:Number, y0:Number;// Координаты салюта. К ним полетит "запущенный пушкой снаряд" :))
var id:Number;// Таймер повтора залпов
var fireLength:Number=100; //Примерный радиус раскрыва салюта
var colorNum:Number=0;// Счетчик цвета
var colors:Array=[0xFF0000, 0xFFFF00, 0x00FF00, 0x00FFFF, 0x2020FF, 0xFF00FF, 0xFFFFFF];
// Массив цветов gotoAndStop
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=randomNum(fireLength,(Stage.width-fireLength));// задаем 
y0=randomNum(fireLength,(Stage.height-fireLength));// координаты салюта
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(70,120);// Кол-во звезд в салюте
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.06.2012, 13:19
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS1/AS2:
clearInterval(id)
Поможет?
__________________
hauts.ru

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

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

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


 


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


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