IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила форума Всем прочитать перед созданием темы!
 
Ответить в данную темуНачать новую тему
Delphi vs Macromedia Flash - возможно ли это?
MonK
сообщение 2.03.2003 - 07:02
Сообщение #1


The Faithful one
Иконка группы

Группа: Пользователи
Пользователь №: 31
Сообщений: 93
Регистрация: 28.02.2003
Из: Toril --> Forgotten Realms --> Waterdeep
Загружено: байт
Скачано: байт
Коэффициент: ---
Спасибо сказали: 0 раз(а)



Если вы уже не первый месяц (год, тысячелетие) бороздите просторы интернета,
то конечно знакомы с технологией "Macromedia Flash ™".
Технология эта, прямо скажем, рулеззная. Еще бы - как еще можно в 400-килограммовый
мультик вместить полторы минуты неплохой анимациии и прикольного звука.
Сам я начал осваивать эту технологию не так давно... И сразу встал вопрос -
А можно ли создать на Delphi свой Flash-проигрыватель? Сначала я пробовал искать
в интернете, но на тот момент не нашел ничего. sad.gif
Тогда мы с приятелем решили сами докопаться до истины.
О результатах моих раскопок читайте ниже!

Итак, о Flash-технологии знают практически все.
Но не те, кто работают со стандартной палитрой компонент Дельфи знают
о возможности использования ActiveX Controls.
Возможно, я устрою тотальный разбор ActiveX - но сейчас эта фишка пригодится нам, чтобы попробовать создать свой Flash-player! Интересно?
Готов поспорить, мало кто из Ваших друзей способен на такое.

НАМ ПОНАДОБИТСЯ:
Delphi (версия не ниже 5)
Умение работать мышкой biggrin.gif
Самое интересное - Macromedia Flash Editor нам не потребуется!
НО! У Вас на компьютере должен быть установлен Plugin Internet Explorer'а для проигрывания Flash-роликов (раз уж вы в интернете, то наверняка, он у Вас есть).

ПОДГОТОВКА СРЕДЫ:
1. Запускаем Delphi.
2. В разделе Registered Controls.
3. Жмем на кнопку Install и вежливо подтверждаем все, о чем нас спросят biggrin.gif
4. Создаем ТУ САМУЮ ПРОБНУЮ ПРОГРАММУ - а результаты этой работы вы вставите куда захотите.

РАЗРАБОТКА:
а). Выбор компонент из палитры:
нам понадобятся следующие компоненты - TrackBar, 3xButtons, OpenDialog, ShockWave Flash.
б). Задаем properties:
Для TShockWaveFlash:
name=swf1
playing=false

Для TOpenDialog'а:
defaultext=*.swf
filter=ShockWave Flash|*.swf

Для TTimer'а:
interval=1

Для кнопок:
button1.caption:="Open"
button2.caption:="Start"
button3.caption:="Stop"

в). Чуть не забыл, в разделе Uses.dcu:
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, OleCtrls, ShockwaveFlashObjects_TLB, ExtCtrls;[/color]

ОСНОВНОЙ КОД:

1. Для Button1'OnClick'
if open1.Execute then begin //вызываем Диалог открытия файла
swf1.Movie:=open1.FileName; //открываем SWF-файл
trackbar1.Max:=swf1.TotalFrames; //Прорабатываем "перемотку".[/color]
2. Для Button2
swf1.play;[/color]
3. Логично предположить, что 'OnClick'
swf1.stop;[/color]
4. В единственно возможном для Timer'а задаем,
чтобы ползунок перемещался по мере воспроизведения файла (для наглядности):
trackbar1.Position:=swf1.CurrentFrame;

5. Теперь в обработке 'OnChange'
if swf1.IsPlaying=true then swf1.Stop; //Это делается, чтобы при перемещении ползунка остановить проигрывание.
swf1.GotoFrame(trackbar1.position); //А здесь мы переходим к нужному кадру.[/color]

ИТОГО:
А что? все прекрасно работает...
По всем вопросам: monk123@rol.ru
MonK
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Гость_tem_*
сообщение 15.04.2003 - 18:11
Сообщение #2





Гость









cltkfk, но при изменении размеров окна размер изображения не меняется :-( (вернее объект размер меняет, а вот картинка - никак). что делать-то? посоветуйте.
з.ы. Delphi 6
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
MonK
сообщение 16.04.2003 - 02:14
Сообщение #3


The Faithful one
Иконка группы

Группа: Пользователи
Пользователь №: 31
Сообщений: 93
Регистрация: 28.02.2003
Из: Toril --> Forgotten Realms --> Waterdeep
Загружено: байт
Скачано: байт
Коэффициент: ---
Спасибо сказали: 0 раз(а)



Дублирую для всех ответ, посланный тебе на Е-мэйл...
Отлавливаете событие на изменении размеров окна - это вы должны уметь
smile.gif и в его обработчик вставляете:
swf1.Repaint;
swf1.Realign;
swf1.Update;
swf1.Refresh;
у меня все работает - а эти 4 строчки я всегда использую для ПОЛНОЙ
перерисовки какого-либо компонента. Работает безотказно...
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 28.03.2024 - 22:41
Ошибка работы драйвера БД

Ошибка при работе с базой данных

Возникла проблема при работе с базой данных.
Вы можете попробовать обновить эту страницу, нажав сюда