Фильмы от Dark Dragons - обмен и обсуждение Фильмы от Dark Dragons - обмен и обсуждение

Вернуться   Фильмы от Dark Dragons - обмен и обсуждение > Web Design > Уроки > Flash
Имя
Пароль
Основные правила форума | Галерея
Помните! Форум - место для общения, а не файловый архив фильмов!
Регистрация Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Flash Обсуждение всех вопросов, связанных с Flash

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.02.2005   #1
Talik
Солнышко
 
Аватар для Talik
 
Регистрация: 16.11.2004
Адрес: Тель-Авив
Сообщения: 1,260
Поблагодарил(а): 156
Поблагодарили 329 раз(а) в 219 сообщениях
Вес репутации: 15Talik is on a distinguished road
Страна:
Отправить сообщение для  Talik с помощью ICQ Отправить сообщение для Talik с помощью Skype™
Значение переменной nash_text можно
получать из подгружаемого текстового
файла или как то иначе /на Ваше усмотрение...

nash_text = " В половине двенадцатого с северо-запада, со стороны деревни Чмаровки, в Старгород вошел молодой человек лет двадцати восьми. За ним бежал беспризорный. -- Дядя! -- весело кричал он. -- Дай десять копеек! Молодой человек вынул из кармана налитое яблоко и подал его беспризорному, но тот не отставал. Тогда пешеход остановился, иронически посмотрел на мальчика и воскликнул: -- Может быть, тебе дать еще ключ от квартиры, где деньги лежат? Зарвавшийся беспризорный понял всю беспочвенность своих претензий и немедленно отстал. Молодой человек солгал: у него не было ни денег, ни квартиры, где они могли бы лежать, ни ключа, которым можно было бы эту квартиру отпереть. У него не было даже пальто. В город молодой человек вошел в зеленом, узком, в талию, костюме. Его могучая шея была несколько раз обернута старым шерстяным шарфом, ноги были в лаковых штиблетах с замшевым верхом апельсинного цвета. Носков под штиблетами не было*. В руке молодой человек держал астролябию*. 'О, Бадерка, ти-ри-рим, ти-ри-ра!'* -- запел он, подходя к привозному рынку. Тут для него нашлось много дела. Он втиснулся в шеренгу продавцов, торговавших на развале, выставил вперед астролябию и серьезным голосом стал кричать: -- Кому астролябию?! Дешево продается астролябия!! Для делегаций и женотделов* скидка! Неожиданное предложение долгое время не рождало спроса. Делегации домашних хозяек больше интересовались дефицитными товарами и толпились у мануфактурных палаток. Мимо продавца астролябии уже два раза прошел агент Старгуброзыска*. Но так как астролябия ни в какой мере не походила на украденную вчера из канцелярии Маслоцентра* пишущую машинку, агент перестал магнетизировать молодого человека глазами и ушел. К обеду астролябия была продана интеллигентному слесарю за три рубля. -- Сама меряет, -- сказал молодой человек, передавая астролябию покупателю, -- было бы что мерять. ";

создаём функцию для запуска текстового
эффекта 'Печатающая машинка',
с именем text_pesh_maschnka
и параметром nash_text

function text_pesh_maschnka(nash_text) {

создаём контейнер для будущего
текстового поля, в котором
и будет отображаться текст

this.createEmptyMovieClip("konteiner", 9);

создаём текстовое поле,
с необходимой Вам шириной и высотой,
в нашем случае - 400 и 240 пикселей

konteiner.createTextField("text_pole", 999, 0, 0, 400, 240);

для форматирования текста создаём
объект TextFormat и задаём значения
некоторых из его свойств

tfmt = new TextFormat();
tfmt.bold = true;
tfmt.color = 0x009999;
tfmt.size = 16;
tfmt.font = "Verdana";


для объекта konteiner.text_pole
определяем свойства wordWrap и multiline
в true, что делает наше текстовое поле
многострочным, с возможностью переноса
текста на следующую строку,
если он не помещается по ширине

with (konteiner.text_pole) {
wordWrap = multiline=true;
}


определяем переменную-счётчик

var n = 0;

для изменения текста в текст_поле
применяем функцию setInterval(),
а не обработчик onEnterFrame ,
чтобы иметь возможность изменять
"скорость печатания текста"

id = setInterval(function () {

приращение счётчика на единицу

n++;

задаём условие, при котором
длина параметра nash_text
не равна нулю /необходимо при подгрузке
значения параметра из текстового файла

if (konteiner.nash_text.length != 0) {

с каждым запуском функции переопределяется
значение свойства text текстового поля text_pole
таким образом, чтобы отобразить в поле
последовательно все символы параметра nash_text,
начиная с первого

konteiner.text_pole.text = nash_text.substring(0, n);

форматируем текст

konteiner.text_pole.setTextFormat(tfmt);

организовываем скрол текста вверх для того,
чтобы печатался сколь угодно длинный текст

if (konteiner.text_pole.bottomScroll>10) {
konteiner.text_pole.scroll++;
}


при "распечатывании" всего текста
удаляем функцию-интервал

if (n>=nash_text.length) {
clearInterval(id);
}
}


задаем скорость "печатания"

}, 30);
}


вызов функции text_pesh_maschnka(nash_text)
text_pesh_maschnka(nash_text);

Удачи!
Talik вне форума   Ответить с цитированием
Реклама
Роза
Пользователи поблагодарившие Talik за это сообщение:
Michapugher (06.04.2015)
Старый 19.02.2005   #2
Talik
Солнышко
 
Аватар для Talik
 
Регистрация: 16.11.2004
Адрес: Тель-Авив
Сообщения: 1,260
Поблагодарил(а): 156
Поблагодарили 329 раз(а) в 219 сообщениях
Вес репутации: 15Talik is on a distinguished road
Страна:
Отправить сообщение для  Talik с помощью ICQ Отправить сообщение для Talik с помощью Skype™
Очень часто начинающие вэб_мастера, интересующиеся
Флэшем, задают вопрос - "Как сделать эффект рисующейся на глазах пользователя линии?" Имеется ввиду, надо полагать, не просто линия, а некий рисунок, который рисуется на глазах у просматривающего флэш_файл, человека.
Общая идея такова -
Делаем из рисунка мувик - программно создаём мувик маску который будет маскировать наш рисунок и по мере атача в него некоторого мувика круг, прорисовывать рисунок. Координаты для атача будем считывать со вспомагательного мувика, который запустим по рисунку направляющей.
Итак. Открываем программу и для того, чтобы наш эффект можно было разместить, по необходимости, в любом месте стола, создаём символ - Movie Clip.
Insert - New Symbol
или Ctrl+F8


Задаём имя символа любое, но лучше со смыслом, например - "Рисуем_рисунок".
Затем обозначаем Behavior поведение символа -
Movie Clip. Жмём OK. Открывается, так сказать,
внутренняя начинка мувиклипа "Рисуем_рисунок",
которую нам и предстоит наполнить. На временной
диаграмме Timeline создаём слои - всего их будет четыре.
Первый слой назовём "AS" - в нём будем записывать
скриптовую программную часть эффекта.
Второй слой назовём "Рисунок" - здесь разместится рисунок, эффект прорисовки которого, нам и надо сотворить.
Третий и четвёртый слои будут, соответственно -
направляемым и направляющим Guigle.
Назовём их - "Движ_круга" и "Рисунок_направл.".
Как это сделать?

Insert - Layer
или жмём самую левую нижнюю иконку на Timeline
Итак, с первым слоем всё ясно - оставляем там пустой ключевой кадр, слой обзываем "AS" - двойной клик левой
мыши на названии слоя изначально - Layer1.
Переходим ко второму слою - создали слой /см.выше/,
обозвали его для ясности - "Рисунок". Далее выделяем мышью пустой ключевой кадр первый и пока единственный в этом слое и рисуем наш рисунок пока простую кривую линию инструментом, напр. Pencil Tool
Теперь переходим к 3 и 4 слоям.

Insert - Layer и затем выделив правой мыши слой он будет третьим, выбираем из контекстного меню - Add Motion Guide вставить движение по направляющей. После клика левой создаётся четвёртый слой Guide, а третий становится направляемым. Назовём слои для ясности -
"Движ_круга" и "Рисунок_направл.". В первый кадр пустой ключевой слоя "Рисунок_направл."четвертого скопируем наш рисунок из второго слоя выделить рисунок - Ctrl+C - выделить кадр в нужном слое четвёртом - Ctrl+V. Теперь наш рисунок станет направляющей, по которой будет двигаться некоторый символ его нам ещё предстоит создать. Создадим нужный нам символ следующим образом - выделим первый кадр третьего слоя пустой и ключевой, затем выберем инструмент - Oval Tool и с его помощью нарисуем круг с диаметром, напр. - 20 пикселей.
Выделим нарисованный круг - двойной клик - и превратим его в мувиклип с name, напр. - "Круг_для атача_в_маску".
Смысл названия прояснится чуть позже.
Зададим ему instance name - mc.

Разместим мувик в начале рисунка - линии.
С первым кадром всех слоёв мы благополучно закончили и теперь перейдём к организации движения круга по нашей направляющей - рисунку.
Выделяем 40й кадр на Timeline нашего мувика и вставляем кадры:
в первом, втором и четвёртом слое - простой - F5,
в третьем - ключевой - F6.

Переходим в первый кадр третьего слоя, выделяем его и затем в панели Properties если не открыта, то - Ctrl+F3 открываем список Tween, выбираем - Motion настройки оставляем те что есть по умолчанию. Затем выделяем мувик - круг в 40м кадре и перетаскиваем его вдоль линии
в её конец. То что должно получится можно увидеть на картинке



Теперь если вытащить наш мувик - "Рисуем_рисунок" из библиотеки на сцену и протестировать фильм - Ctrl+Enter , увидим движение круга вдоль нашей кривой.

Если Вам всё это ещё не надоело, то, переведя дух, переходим к самому интересному.

Для того, чтобы программным способом можно было
обращаться к мувику, необходимо задать в его Lincage связь имя, по которому к нему можно было бы обращаться. Проделаем это с символом "Круг_для атача_в_маску". Для этого выделим его в библиотеке
правой мыши и в появившемся контексте выберем -
Lincage - жмём левой и заполняем появившуюся форму -
Identifier - krug
Linkage - ставим галку напротив Export for ActionScript автоматически напротив Export in first frame появится
такая же галка.
см.рисунок



Теперь осталось превратить наш рисунок во втором слое
в мувик с instance risunok и можно переходить к написанию скрипта.
Выделяем пустой ключевой кадр в слое "AS", открываем
Actions - F9 и пишем

this.createEmptyMovieClip("maska", 999);

создали пустой мувик

risunok.setMask(maska);

сделали этот мувик иаской для мува risunok

this.maska.attachMovie("krug", "krug", 7777);

в мувик maska атачим вытаскиваем из библитеки
программным способом мувик с Linkage - krug

this.maska.krug._x = this.mc._x;
this.maska.krug._y = this.mc._y;


задаём ему координаты мувика mc - который у нас
перемещается по направляющей

this.onEnterFrame = function() {

пишем обработчик
события onEnterFrame происходит с частотой смены кадров - fps - у нас - 24 кадра в секунду

i++;

объявляем счётчик i и одновременно увеличиваем его на
единицу с каждым вызовом функции

this.maska.attachMovie("krug", "krug"+i, 7777+i);

атачим в мувик maska мувик c L - krug и задаём ему имя
"krug"+i с размещеним в уровне 7777+i

this.maska["krug"+i]._x = this.mc._x;
this.maska["krug"+i]._y = this.mc._y;


задаём приатаченному муву координаты мувика mc
на момент срабатывания функции

if (i == 40) {
delete this.onEnterFrame;
}
};


при достижении i значения 40 удаляем обработчик

Остались мелочи -
сделать мувик mc невидимым - выделяем в первом кадре
мувик mc и на панели Properties ставим Color - Alpha - 0.
Тоже проделываем в 40м кадре.
Что бы линия рисовалась один раз, в 40м кадре - это можно
сделать только в ключевом кадре - он у нас третьем слое
прописываем

stop()

ГОТОВО!

Вытаскиваем наш мувик "Рисуем_рисунок" на сцену и тестируем фильм Ctrl+Enter - рисуется линия, на радость нам и всему человечеству.

p.s. Чем больше fps, тем плавнее движение -
разумный вариант - 24-36 кадров в сек.
Размер мувика "Круг_для атача_в_маску" необходимо
подбирать так чтобы при атаче не было разрывов -
если из скрипта убрать строку

risunok.setMask(maska);

получим картину покрытия линии приатаченными мувиками

this.mask["krug"+i]

см.рисунок



Запускать рисование можно различными способами.
Talik вне форума   Ответить с цитированием
Старый 19.02.2005   #3
Talik
Солнышко
 
Аватар для Talik
 
Регистрация: 16.11.2004
Адрес: Тель-Авив
Сообщения: 1,260
Поблагодарил(а): 156
Поблагодарили 329 раз(а) в 219 сообщениях
Вес репутации: 15Talik is on a distinguished road
Страна:
Отправить сообщение для  Talik с помощью ICQ Отправить сообщение для Talik с помощью Skype™
Как создать эффект "хвоста" или "следа", состоящий из нескольких копий самого клипа, движущихся за ним с некоторым отставанием и увеличением прозрачности. Причем учитывать возможность изменения траектории движения.

В первом и единственном кадре мувиклипа "ball" (например) пишем

if (getDepth() < 0) swapDepths(0);

_x += 5;
time = 1;

function onEnterFrame() {
swapDepths(getDepth() + 1);
if (time-- <= 0) {
this.duplicateMovieClip("Ball" + 10000 + random(10000), 0);
(onEnterFrame = oEF2)();
}
}

function oEF2() {
swapDepths(getDepth() + 1);
_alpha -= 10;
if (_alpha <= 0) {
this.removeMovieClip();
}
}
Talik вне форума   Ответить с цитированием
Пользователи поблагодарившие Talik за это сообщение:
Michapugher (06.04.2015)
Старый 11.11.2007   #4
Talik
Солнышко
 
Аватар для Talik
 
Регистрация: 16.11.2004
Адрес: Тель-Авив
Сообщения: 1,260
Поблагодарил(а): 156
Поблагодарили 329 раз(а) в 219 сообщениях
Вес репутации: 15Talik is on a distinguished road
Страна:
Отправить сообщение для  Talik с помощью ICQ Отправить сообщение для Talik с помощью Skype™
Создать свой Фотоальбом

Самый простенький фотоальбом. Урок для начинающих

В этом уроке я хочу научить загружать графические файл во flash. Для примера сделаем семейный альбом.

1. Давайте для начала выберем фотки, которые нужно вставить во Flash.

2. В первом кадре, сделайте кнопки (Insert->New Symbol -> Button), с названиями фоток, чтобы можно при нажатии будем переходить на раздел какой-нибудь тематике фотографий, допустим, “на море”, переходить на фотку с морем и т.д. То есть, сколько у вас фоток, столько и должно быть кнопок (конечно, это не обязательно для каждой делать фотки делать свою кнопку, если Вы хотите создать раздел и поместить туда все картинки по данной тематике), с их названием.

3. После того как вы сделали все кнопки, вам осталось занести туда фотографии. Но сначала выделите первый кадр, зайдите в Actions Script (F9), и выберите команду Stop(). То есть стоп на первом кадре.

4. Во втором кадре закачайте первую кнопку, зайдя в пункты меню File-Open as Library… (или File-Import) Потом появится библиотека, и из нее перетащите на второй кадр фотку, не забыв сделать его ключевым (Insert Keyframe - F6 ).

5. Затем выделите второй кадр, откройте панель Actions Script, и там напишите:

stop();

6. Создайте во втором кадре кнопку, которая из кадра фотки переносит на главное меню. Для этого выделите кнопку во втором кадре, зайдите в Actions Script, и там впишите:

on (release) {

gotoAndPlay(1);

}


7. Потом переключитесь на первый кадр, и выделите кнопку, которая соответствует фотки (на втором кадре), затем зайдите в Actions Script и там напишите:

on (release) {

gotoAndPlay(2);

}


То есть при нажатии кнопки переходит на второй кадр.

8. И аналогично делайте с остальными фотками и кнопками.
Talik вне форума   Ответить с цитированием
Старый 02.08.2009   #5
GoodMusicForever
Ghost
 
Регистрация: 01.08.2009
Адрес: Russia
Сообщения: 3
Поблагодарил(а): 0
Поблагодарили 0 раз(а) в 0 сообщениях
Вес репутации: 0GoodMusicForever is an unknown quantity at this point
Страна:
Flash программирование

У меня такая проблема, на сервере создается xml файл разный для каждого пользователя, потом я его считываю flash и использую как мне надо, после того, как я его считал, файл мне уже не нужен, что мне с ним дальше делать ? удалить как-нибудь ? Ведь если пользователей будет много, то на сервере куча файлов будет
GoodMusicForever вне форума   Ответить с цитированием
Реклама
Роза
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кому поиграться на Flash Malysh ON-Line 0 19.07.2005 13:21
Flash - движение Talik Flash 0 19.02.2005 11:44
Flash - создание простой кнопки Talik Flash 0 19.02.2005 11:39
Flash - управление звуком на сайте Talik Flash 0 19.02.2005 11:29
Flash Decompiler v1.7.0.192 Xamstez Ссылки на софт 0 09.01.2005 17:26


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


vBulletin v3.6.0, Copyright ©2000-2018, Jelsoft Enterprises Ltd
Лицензия Dark Dragons
FILMS