• Авторизация


Создать диалог между героями в сопровождении музыкальных эффектов для флеш в Adobe Flash CS5. 23-02-2016 21:00 к комментариям - к полной версии - понравилось!









Создать диалог между героями в сопровождении музыкальных эффектов для флеш в Adobe Flash CS5.







В этом уроке Вы сможете легко создать любой диалог между героями во флеш.
Прилагаю текстовой урок во вложении со скриптом.
Удачи Вам!
Скрипт:
Вписываем скрипт под № 1. Он без музыки. Только фразы.
var speed = 6;
bob.onEnterFrame = function()
{
 if (Key.isDown(Key.LEFT))
 {
 this._x -= speed;
 }
 if (Key.isDown(Key.RIGHT))
 {
 this._x += speed;
 
 }
 if (Key.isDown(Key.UP))
 {
 this._y -= speed;
 
 }
 if (Key.isDown(Key.DOWN))
 {
 this._y += speed;
 
 }
};
// Это текст можно заменить здесь на свой. 
//Добавить еще текст, но обязательно заключая в кавычки и через запятую
var bob1_phrases = ["Привет, друг!", "Хорошая сегодня погодка, мм?", "Эй, что нового?"];
var bob2_phrases = ["Кхм..", "Что тебе нужно?", "Аккуратней, парень!"];


function setDialogues(mc:MovieClip, phrases:Array, yy:Number)
{
 var fi_fa = mc.attachMovie("ff", "ff" + mc._name, _root.getNextHighestDepth());
 fi_fa._y = yy;
fi_fa._visible = false;
 mc.curPhrase = 0;
 mc.maxPhrase = phrases.length - 1;
 mc.speaking = false;
 mc.onEnterFrame = function()
 {
 var dx = bob._x - this._x;
 var dy = bob._y - this._y;
 // 120 это расстояние в прикселях до приближения к предмету. Можно заменить
 if (Math.abs(dx) < 120 && Math.abs(dy) < 120)
 {
 if (Key.isDown(Key.SPACE) && this.speaking == false)
 {
 this.speaking = true;
 fi_fa._visible = true;
 fi_fa.txt.text = phrases[this.curPhrase];
 if (this.curPhrase >= this.maxPhrase)
 {
 this.curPhrase = 0;
 }
 else
 {
 this.curPhrase++;
 }
 }
 }
 else
 {
 this.speaking = false;
 this.timer = 0;
 fi_fa.txt.text = "";
 fi_fa._visible = false;
 }
 if (this.speaking)
 {
 this.timer == undefined ? this.timer = 0 : this.timer++;
 //20 это высвечивания текста цифра в секундахи их можно заменить
 if (this.timer >= 20)
 {
 this.timer = 0;
 this.speaking = false;
 fi_fa.txt.text = "";
 fi_fa._visible = false;
 }
 }
 };
}
setDialogues(bob1,bob1_phrases,-30);
setDialogues(bob2,bob2_phrases,-30);

Скрипт  № 2  С  Музыкальным эффектом  
var speed = 6;
love.onEnterFrame = function()
{
 if (Key.isDown(Key.LEFT))
 {
 this._x -= speed;
 }
 if (Key.isDown(Key.RIGHT))
 {
 this._x += speed;
 
 }
 if (Key.isDown(Key.UP))
 {
 this._y -= speed;
 
 }
 if (Key.isDown(Key.DOWN))
 {
 this._y += speed;
 
 }
};
var bob1_phrases = ["Все! Попалась на крючок", "К черту, девки, пляски!", "На наживку мужичок", "вытянул из «аськи»!"];
var bob2_phrases = ["Щеголяла в неглиже", "перед Скайпом сутки!", "пусть он жениться на мне,", "потому,что в животе", "ржет беззубый скайпик"];
var bob1_voices = ["m1g1", "m1g2", "m1g3"];
var bob2_voices = ["m2g1", "m2g2", "m2g3"];


function setDialogues(mc:MovieClip, phrases:Array, voices:Array, yy:Number)
{
 var f_fifa = mc.attachMovie("fifa", "fifa" + mc._name, _root.getNextHighestDepth());
 f_fifa._y = yy;
 f_fifa._visible = false;
 mc.curPhrase = 0;
 mc.maxPhrase = phrases.length - 1;
 mc.speaking = false;
 mc.onEnterFrame = function()
 {
 var fx = love._x - this._x;
 var fy = love._y - this._y;
 if (Math.abs(fx) < 120 && Math.abs(fy) < 120)
 {
	 
	 
	 
 if (Key.isDown(Key.SPACE) && this.speaking == false)
 {
 this.speaking = true;
 f_fifa._visible = true;
 f_fifa.txt.text = phrases[this.curPhrase];
 sound = new Sound(mc);
 sound.attachSound (voices[this.curPhrase]);
 sound.start();
 if (this.curPhrase >= this.maxPhrase)
 {
 this.curPhrase = 0;
 }
 else
 {
 this.curPhrase++;
 }
 }
 }
 else
 {
 this.speaking = false;
 this.timer = 0;
 f_fifa.txt.text = "";
 f_fifa._visible = false;
 }
 if (this.speaking)
 {
 this.timer == undefined ? this.timer = 0 : this.timer++;
 if (this.timer >= 15)
 {
 this.timer = 0;
 this.speaking = false;
 f_fifa.txt.text = "";
 f_fifa._visible = false;
 }
 }
 };
}
setDialogues(bob1,bob2_phrases,bob2_voices,-30);
setDialogues(bob2,bob1_phrases,bob1_voices,-30);



Надеюсь Вам понравилось! [показать]

 
вверх^ к полной версии понравилось! в evernote
Комментарии (22):
Танюша, спасибо! Вложение взяла. Боюсь, что не справлюсь.
Cadmii 23-02-2016-21:16 удалить
Ответ на комментарий Татьяна_Волкова_Литвинова # Справишся. Я постаралась описать урок без лишних слов . Вся работа на двух слоях-сами герои и скрипт. Не справишся_я помогу.
QAKLEN 23-02-2016-21:21 удалить
ТАНЮША ,Я НЕ СМОГУ! ЕСЛИ БЫЛИ ПО ПОРЯДКУ! 123456 И Т Д.СПАСИБО!
Ответ на комментарий Cadmii # Попробую. Спасибо!
Cadmii 23-02-2016-21:25 удалить
Ответ на комментарий QAKLEN # Во вложении так и есть, только без цифр. Давай, пробуй. Все получится.
Очень интересно. Доброй ночи, Танюша
Jorjorych 23-02-2016-23:15 удалить
Интересно, Таня. Но у меня Word документ не открывается, сообщается что файл повреждён. (Word2010). Всё, открыл в WordPad. Буду ... Спасибо!
Flash_Magic 24-02-2016-00:02 удалить
Ой как у тебя всё ловко получается, просто супер Великолепный урок, очень интересно!!!! Ты уже как профи работаешь в этой проге! Спасибо моя дорогая, будем учиться
Cadmii 24-02-2016-08:33 удалить
Ответ на комментарий Jorjorych # Напугал... И я в пост вставила скрипт)) С прошедшим, нет всегда настоящим тебя праздником мужчин! Обнимаю!
Cadmii 24-02-2016-08:37 удалить
Ответ на комментарий Flash_Magic # Какой там профи... Все учусь, учусььь.. А толку нету. Лень матушка одолевает))) Есть красивые вещи, которые можно сделать, но в них есть недомолвки которые понять не могу, а авторы не отвечают (в основном по скрипту). И все, пропадает интерес сразу. Этот урок больше подойдет для разработки игры. Но можно и пофантазировать (если прижать к теплой печке...)
Cadmii 24-02-2016-22:28 удалить
Ответ на комментарий Jorjorych # Ой.. Ошарашил ты меня причем быстро и внушительно)))) Мур-мур... Я стесняюсь и восторгаюсь твоей фантазией!! У.. Как бы я сейчас тебя расцеловала бы ))) Умничка. Ну я так и знала, что тебе это удастся за 7 секунд.
Jorjorych 24-02-2016-23:35 удалить
Ответ на комментарий Cadmii # Весь в краске ... Никак не осмыслю "Условие =if=". И вообще почти не занимаюсь последнее время флешем. Выложу эту флешку в днев, пусть покрасуется там.
LiSu 25-02-2016-06:51 удалить
Очень интересный эффект. Спасибо за урок!
Ой, как интересно, Танюша!!!! Спасибо!!! Обязательно попробую!
Cadmii 26-02-2016-01:42 удалить
Ответ на комментарий Лариса_Гурьянова # )))) Лариса!!! Смеюсь. Тебе все по плечу))) И многому мне еще у тебя учиться надо!
nadmirchik 27-02-2016-17:50 удалить
Спасибо большое за интересный урок!
Cadmii 28-02-2016-00:48 удалить
Ответ на комментарий Jorjorych # Когда преобразовываем в символ видеоролика даем Имя символу fi_fa. А вот в графе "индентификатор"( в этом же окне) дать имя ff (в этом же окне где есть класс..) Это сокращенные две буквы. Просто ff английскими буквами.
Cadmii 28-02-2016-00:50 удалить
Ответ на комментарий nadmirchik # Не за что. Удачи в творчестве и жизни обязательно!
Jorjorych 28-02-2016-01:00 удалить
Ответ на комментарий Cadmii # Спасибо Таня. С этим у меня нет проблем. Я об условии if-else в скриптах (AS2 , 3). Не разобрался до сих пор в синтаксисе этого условия. И не только этого. Видела доработанную флешку:http://www.liveinternet.ru/users/jorjorych/post385346285/ ?
Cadmii 28-02-2016-02:12 удалить
Ответ на комментарий Jorjorych # это основной блок в котором присваивается состояние диалогов this.speaking = true; d_box._visible = true; d_box.txt.text = phrases[this.curPhrase]; if (this.curPhrase(говорит фразу) >= this.maxPhrase(чтобы выразилась след. фраза) { this.curPhrase = 0;( фразы приравниваем к 0) } else { this.curPhrase++;(увеличене фраз) } Ветка else относится к состоянию разговаривать или нет
Jorjorych 28-02-2016-20:46 удалить
Ответ на комментарий Cadmii # Да не этот конкретный пример, а вообще. Да ладно, хватит тебя мучить, возьму учебники и буду штудировать. Авось сверкнёт понимание...


Комментарии (22): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Создать диалог между героями в сопровождении музыкальных эффектов для флеш в Adobe Flash CS5. | Cadmii - Виртуальное кафе Вашей мечты | Лента друзей Cadmii / Полная версия Добавить в друзья Страницы: раньше»