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

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

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

Регистрация: Jan 2006
Сообщений: 8
По умолчанию 9 случайных погружаемых звуков при кликании мышкой на кнопку

Я - полный чайник. Программирую воспроизведение случайных звуковых файлов (или флеш-клипов). Я нашёл похожий код, но в неём есть лишняя функция - автоматическое воспроизведение подгружаемых клипов через случайные промежутки времени. Мне же нужно посто, чтобы нарисованный чёртик при кликании по нему мышкой говорил в хаотичном порядке 9 фраз. Вот тот похожий код (с поправкой на мои звуки):

Код:
_global.randRange = function(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random()*(max-min+1))+min;
return randomNum;
};


function init ():Void {
setInterval (this, "load", 5000);
}


function load ():Void {
ti = _global.randRange(1, 9);
d = _global.randRange(-1, 1);
if (d>=0) {
di = 1;
} else {
di = -1;
}

this.createEmptyMovieClip("t_mc", 10);
loadMovie("http://anti-radio.ru/swf/d"+ti+".swf", t_mc);
t_mc._x = 360;
t_mc._y = 158.7;
t_mc._xscale = di*100;
};




init();

bt.onRollOver = function() {
t_mc.stop();
};

bt.onRollOut = function() {
t_mc.play();
};
Этот код стоит у меня на кадре, к которому мы подходим и играем основной клип при клике мыши. Что нужно убрать/изменить в коде, чтобы чёртик произносил 9 фраз в хаотичном порядке?

Спасибо.
__________________
Нет причин для беспокойства


Последний раз редактировалось iNils; 02.06.2008 в 22:22.
Старый 02.06.2008, 22:22
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Для оформления своего кода надо использовать теги [code][/code].
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 02.06.2008, 23:28
Bob SurikeN вне форума Посмотреть профиль Отправить личное сообщение для Bob SurikeN Найти все сообщения от Bob SurikeN
  № 3  
Ответить с цитированием
Bob SurikeN

Регистрация: Jan 2006
Сообщений: 8
ок, понял.

спасибочки! пробую...

Я, наверно, не совсем доходчиво спросил.
2 вопроса:
1. куда вставить этот код, если при нажатии на чёрта-кнопку (он же devil_mc) клип должен вставать на определённый кадр (61) и играть с этого места вместе со случайным звуком?
2. звуки в виде файлов d1.swf...d9.swf - подгружаемые, то есть это отдельные файлы вне основного клипа.
__________________
Нет причин для беспокойства


Последний раз редактировалось etc; 02.06.2008 в 23:44.
Старый 02.06.2008, 22:58
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Звукам в библиотеке проставьте Linkage в виде цифр 0-8
Чертик - devil_mc
Код:
devil_mc.onPress = function  () {
    s.stop();
    delete s;
    var s:Sound = new Sound();
    s.attachSound(Math.floor(Math.random()*9).toString());
    s.start();
}
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 02.06.2008 в 23:04.
Старый 03.06.2008, 01:33
Vektor вне форума Посмотреть профиль Отправить личное сообщение для Vektor Найти все сообщения от Vektor
  № 5  
Ответить с цитированием
Vektor
 
Аватар для Vektor

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
Ответ, на Самый певый вопрос.
Код:
//звуки добавиш сам, не забуть в Properties звука поставить галочку, как для Мувика. 
//Названия звука 1-9.
var aSound:Array = ["1", "2", "3", "4", "5", "6", "7", "8,", "9"];
var nS:Number;
this.onMouseDown = function() {
	var mySound:Sound = new Sound();
	nS = Math.floor(Math.random()*aSound.length);
	mySound.attachSound(aSound[nS]);
	mySound.start();
	aSound.splice(nS,1);
	this.onEnterFrame = function() {
		if (mySound.duration == mySound.position) {
			nS = Math.floor(Math.random()*aSound.length);
			mySound.attachSound(aSound[nS]);
			mySound.start();
			aSound.splice(nS,1);
			if (aSound.length == 0) {
				delete onEnterFrame;
			}
		}
	};
};
В следующий раз, формулируй ? правильно.
__________________
Книги и желание лучшие учителя.

Старый 03.06.2008, 02:15
Bob SurikeN вне форума Посмотреть профиль Отправить личное сообщение для Bob SurikeN Найти все сообщения от Bob SurikeN
  № 6  
Ответить с цитированием
Bob SurikeN

Регистрация: Jan 2006
Сообщений: 8
Спасибо, Vektor!
__________________
Нет причин для беспокойства

Старый 03.06.2008, 02:01
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
2. звуки в swf... Флэш давно уже нормально грузит и играет мп3 например. Причем потоковый, т.е. не надо ждать полной загрузки файла. Ну типа так
Код:
devil_mc.onPress = function  () {
    (new Sound).stop();
    var s:Sound = new Sound();
    a = Math.floor(Math.random()*9).toString()
    s.onLoad = function(success:Boolean) {
        if (success) {
            s.start(0,1);
            _root.gotoAndStop(61);
        }
    }
    s.loadSound(a+".mp3", true);
}
Звуки назвать 0.mp3 - 8.mp3 и положить в ту же директорию.
Ну или изменить в коде строчку на реальный URL по типу
Код:
s.loadSound("http://www.mysite.com/welcomedevil_sounds/"+a+".mp3", true);
__________________
Reality.getBounds(this);

Старый 03.06.2008, 02:10
Bob SurikeN вне форума Посмотреть профиль Отправить личное сообщение для Bob SurikeN Найти все сообщения от Bob SurikeN
  № 8  
Ответить с цитированием
Bob SurikeN

Регистрация: Jan 2006
Сообщений: 8
Спасибо, Wolsh! Я сделал пока звуки внутри флешки: АНТИ-радио.
Завтра буду разбираться со вторым вариантом.
Ещё раз спасибо, выручил, дружище! Я вообще-то музыкант, а не флешер )))))
__________________
Нет причин для беспокойства

Старый 03.06.2008, 08:48
Vektor вне форума Посмотреть профиль Отправить личное сообщение для Vektor Найти все сообщения от Vektor
  № 9  
Ответить с цитированием
Vektor
 
Аватар для Vektor

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
Немного изменил код, так правильней.
Код:
//звуки добавиш сам, не забуть в Properties звука поставить галочку, как для Мувика. 
//Названия звука 1-9.
var aSound:Array = ["1", "2", "3", "4", "5", "6", "7", "8", "9"];
var nS:Number;
this.onMouseDown = function() {
	var mySound:Sound = new Sound();
	nS = Math.floor(Math.random()*aSound.length);
	mySound.attachSound(aSound[nS]);
	mySound.start();
	aSound.splice(nS,1);
	var _interval = setInterval(fSound, mySound.duration);
	function fSound() {
		nS = Math.floor(Math.random()*aSound.length);
		mySound.attachSound(aSound[nS]);
		mySound.start();
		aSound.splice(nS,1);
		if (aSound.length == 0) {
			clearInterval(_interval);
			_interval = null;
		}      
	}
};
__________________
Книги и желание лучшие учителя.


Последний раз редактировалось Vektor; 03.06.2008 в 08:52.
Старый 04.06.2008, 12:22
Bob SurikeN вне форума Посмотреть профиль Отправить личное сообщение для Bob SurikeN Найти все сообщения от Bob SurikeN
  № 10  
Ответить с цитированием
Bob SurikeN

Регистрация: Jan 2006
Сообщений: 8
Wolsh! Этот код работает почему-то только пока флешка не вставлена в htm. Может быть что-то в свойствах объекта?

Код:
devil_mc.onPress = function  () {
    (new Sound).stop();
    var s:Sound = new Sound();
    a = Math.floor(Math.random()*9).toString()
    s.onLoad = function(success:Boolean) {
        if (success) {
            s.start(0,1);
            _root.gotoAndPlay(61);
        }
    }
    s.loadSound(a+".mp3", true);
}
__________________
Нет причин для беспокойства

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

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

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


 


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


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