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

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

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

Регистрация: Jan 2014
Сообщений: 5
Question Заставка и настройки.

Добрый день,

Есть задача - сделать заставку с таймером обратного отчета до определенного времени с возможностью установки этого времени.
Т.е. логика такая:
Есть fla-проект с динамическим текстовым полем. Этот фла должен быть сконвертирован в swf а затем в scr (файл экранной заставки).
Конечный пользователь устанавливает дату какого-то события в настройках скринсейвера (например, 10.10.2015),
они сохраняются, и при каждом вызове заставки она отображает таймер отчета времени:
Осталось 30 дней, 8 часов, 15 мин.

Вопрос: Как можно сделать меню настроек экранной заставки скомпилированной из flash-проекта.
Благодарю.

Старый 04.02.2014, 13:56
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 2  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Если тридцать дней, то Вам нужно air делать, так-как он может записать выставленную дату в файл на компе пользователя. А меню делать так же, как и меню.

Старый 04.02.2014, 14:14
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 3  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Экранная заставка - это не просто ехе-файл. Насколько я помню, этот файл должен экспортировать пару-другую функций и, возможно, в ресурсах иметь что-то необходимое для корректного взаимодействия с системным менеджером заставок или как он там зовется.
Впрочем, если вы уже сумели сконвертировать swf в scr вам что-то должно быть известно об этом.
Чем конвертировали?

UPD Да, таки не ошибся. http://www.realcoding.net/articles/s...rana-na-c.html
Т.е. нужно, чтобы ехе-файл экспортировал функции
Цитата:
LRESULT WINAPI ScreenSaverProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); - является "функцией окна" хранителя.
Она получает все сообщения системы (аналог функции WinMain в чистом Windows-приложении).
LRESULT WINAPI DefScreenSaverProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
BOOL WINAPI ScreenSaverConfigureDialog (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
- функция вызывается системой всякий раз когда пользователь нажимает кнопку "настройка..." в окне настройки хранителей экрана (Пуск->Настройка->Панель управления->Экран->Заставка).
BOOL WINAPI RegisterDialogClasses (HANDLE hInst);
По вопросу - диалог, о котором вы спрашивали, нужно делать отдельно и пихать в его в ресурсы длл или ехе. В любом случае ни айр ни тем более флеш на это не способен.

Помнится было что-то под названием ScreeenWeaver но очень давно. Поищите софт для конвертации swf в заставку, может и найдете.


Последний раз редактировалось alexcon314; 04.02.2014 в 14:26.
Старый 04.02.2014, 14:43
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
как вариант - не связываться с меню настроек заставки, а в самой флешке в контекстное меню добавить пункт, вызывающей форму, данные из которой писать в SharedObject

Старый 04.02.2014, 20:15
djchich вне форума Посмотреть профиль Отправить личное сообщение для djchich Найти все сообщения от djchich
  № 5  
Ответить с цитированием
djchich

Регистрация: Jan 2014
Сообщений: 5
Всем большое спасибо за ответы.
Буду пробовать.

Старый 04.02.2014, 22:40
Aprel вне форума Посмотреть профиль Отправить личное сообщение для Aprel Найти все сообщения от Aprel
  № 6  
Ответить с цитированием
Aprel

Регистрация: Sep 2013
Сообщений: 16
Я Вам не советую такой вариант (если только Вы делаете для своего личного компа)... Из условий понятно, что Вы хотите предложить кому то скрин в Винду на условиях 30 дней... Это Вам в чужую систему залезать надо... Вас никто не пустит в свою систему с Вашим файлом...

Старый 05.02.2014, 15:17
djchich вне форума Посмотреть профиль Отправить личное сообщение для djchich Найти все сообщения от djchich
  № 7  
Ответить с цитированием
djchich

Регистрация: Jan 2014
Сообщений: 5
Моя задача в следующем: пользователь заходит в настройки скринсейвера и выставляет дату окончания какого либо периода. Они сохраняются на компе пользователя и затем скринсейвер при запуске считывает введенные данные и на основании их создается таймер обратного отчета времени до введенной даты.
Подскажите, В чем по Вашему могут быть у меня трудности?
П.С. скринсейвер планируется распространять другим людям.

Старый 05.02.2014, 15:52
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 8  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
1. По-сути нужно сделать обертку над плеером, ехе-файл, который загрузит флеш-плугин и воспроизведет swf, и при этом нужно, чтобы ехе реализовал упомянутый мной интерфейс в виде экспортируемых функций и системного диалога настроек, которые можно сохранить хоть в реестре, хоть в файле. Все это решаемо, но будет много возни, т.к. это с++ приложение, флеш тут уже с боку припека. Профит - на выходе будете иметь кульную штуку в своем роде, весьма авторскую, хороший задел на будущее в программировании в виндах, ну и скилы прокачаете нехило. Попутно можно убрать вообще стандартные менюшки флеша, еще там какие-то фичи навесить. Соответственно, нужно потратить время и силы.

2. silin предложил очень простой и достаточно эффективный способ решить задачу средствами одного флеша. Принеся в жертву системный диалог настроек (его просто не будет), вы можете малой кровью решить поставленную задачу. Настройки будут производиться из самого флеша и сохраняться в SharedObject (это файлик такой) на компе пользователя. Т.е. делаете на основе вашего swf проектор (Windows Projector), даете ему расширение .scr и кидаете в системный каталог со скринсэйверами. При этом он будет доступен в диалоге выбора скринсейвера на равне с другими и запускаться тоже будет (по крайней мере так раньше работало).
Настройки производить в самом запущеном скринсейвере: сделать там всплывающий диаложик с нужными полями средствами флеша и хранить данные в SharedObject, оттуда же и считывать их при старте. Диалог вызывать через контекстное меню по правому клику. Как-то так.

3. Третий вариант - поискать готовый конвертер swf -> scr. Т.е. прогу, которая выполнит все, что говорилось в первом пункте автоматически и выдаст на гора готовый скринсейвер. Сомневаюсь, что таких конвертеров много. Но вроде были раньше, я особо не интересовался .

Старый 05.02.2014, 20:46
djchich вне форума Посмотреть профиль Отправить личное сообщение для djchich Найти все сообщения от djchich
  № 9  
Ответить с цитированием
djchich

Регистрация: Jan 2014
Сообщений: 5
alexcon314, Большое спасибо за исчерпывающие комментарии.
Первый вариант и впрямь хорош Но к сожалению не имею достаточного запаса времени на реализацию.
Третий вариант уже испробован и не является приемлемым в полном объеме т.к. представленные общественности утилиты не несут возможности создания диалогового окна с возможностью перехвата/обработки функция из флэша (или любого другого исполняемого файла).
А вот второй вариант мне подходит.

Еще раз большое спасибо всем участникам данной конференции.
По получении результата выложу сюда части кода.

Благодарю.

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

Теги
screensaver , timer , заставка , Таймер
Опции темы
Опции просмотра

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

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


 


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


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