Ru-Board.club
← Вернуться в раздел «Программы»

» Autoplay Media Studio

Автор: alizeus
Дата сообщения: 19.04.2011 13:24
Добрый день!
Сразу оговорюсь, что с программой работать только учусь.
Вопрос такой: хочу сделать так, что бы перед открытием основного меню плавно появлялась некая картинка на определённое время, потом так же плавно закрывалась, и открывалось основное окно. Фишка в том, что появляющейся картинкой является надпись на прозрачном фоне. Другими словами сначала должна плавно появиться надпись, потом так же плавно исчезнуть, и открыться основное окно.
С прозрачностью более менее разобрался, хотя возможно реализовать её можно и по другому. Пишу так:
Window.SetMask(Application.GetWndHandle(), "AutoPlay\\Images\\1.png", false, 5248228);

Далее начинаются заморочки. Пожалуйста помогите, если возможно чуть поподробнее. Повторяю, программу только начал изучать.
Автор: Zloy_Gelud
Дата сообщения: 19.04.2011 14:11
alizeus -- посмотри плагин SplashImageT. Помоему то, что тебе нужно. В комплекте пример.
http://rghost.ru/5247426
Автор: alizeus
Дата сообщения: 19.04.2011 14:22
Zloy_Gelud
Спасибо. У меня есть этот плаг.
Можно немножечко подробней пожалуйста.
Пишу так:
Preload:
Window.SetMask(Application.GetWndHandle(), "AutoPlay\\Images\\2.png", true, 15824386);
SplashImageT.Show("AutoPlay\\Images\\1.png", 5, true, true);

Show:
Page.Jump("Page2");

Ничего не получается. Если не затруднит, скажи, где я ошибаюсь.
Автор: Zloy_Gelud
Дата сообщения: 19.04.2011 14:41
alizeus
Нужно так:
Project > Actions...: On Startup

Код: SplashImageT.Show("AutoPlay\\Images\\splash.png", 2, false, false);
Application.Sleep(2000);
Автор: alizeus
Дата сообщения: 19.04.2011 14:44
Zloy_Gelud
Спасибо, буду пробовать, ковыряться.
Нужно ведь не только спрашивать, но и самому кумекать, иначе не научишься. Спасибо ещё раз!
Автор: Zloy_Gelud
Дата сообщения: 19.04.2011 14:46
alizeus

Цитата:
Спасибо, буду пробовать, ковыряться.
Нужно ведь не только спрашивать, но и самому кумекать, иначе не научишься.

Очень здравая мысль. Жаль, что не все это понимают.
Автор: alizeus
Дата сообщения: 19.04.2011 15:37
Получилось почти всё.
Не удаётся только реализовать плавное появление и исчезновение надписи. Другими словами она резко открывается, и резко сворачивается.
Извени, что достаю с вопросами ))) Просто намекни куда копать, а додумаюсь сам.
Автор: Zloy_Gelud
Дата сообщения: 19.04.2011 15:51
alizeus

Цитата:
Не удаётся только реализовать плавное появление и исчезновение надписи.

А это пока не возможно сделать.
Автор: alizeus
Дата сообщения: 19.04.2011 16:27
Zloy_Gelud
А переход со страницы на страницу по средствам:
Эфект - Fade ?
Это ведь что-то подобное. Нельзя ли это как-то прикрутить?
Автор: Zloy_Gelud
Дата сообщения: 19.04.2011 16:38
alizeus
Эффект перехода в данном случае прикрутить имхо не получиться.
Автор: tRippinthehead
Дата сообщения: 19.04.2011 18:05
alizeus

Нашел тут одну библиотеку и написал скриптик, вроде то что тебе нужно:

Скопируй код в On Preload окна:

Код:
hWnd = Application.GetWndHandle(); --дискриптор приложения

Dll = "AutoPlay\\Docs\\isgsg.dll"; --путь к необходимой для работы библиотеке
SplashFile = "AutoPlay\\Docs\\logo.png"; --путь к всплывающей картинке

FadeInTime = 1000; -- время на анимацию появления картинки, в мс
FadeOutTime = 1000; -- время на анимацию исчезновения картинки, в мс
TimeToShow = 5000; -- указываем время, в течении которого картинка будет отображаться после появления, так же в мс

DLL.CallFunction(Dll, "ShowSplashScreen", hWnd..",\""..SplashFile.."\","..FadeInTime..","..TimeToShow..","..FadeOutTime..",0,255,False,$FFFFFF,10", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
Автор: Zloy_Gelud
Дата сообщения: 19.04.2011 20:48
tRippinthehead -- зачет. Либа для Инно выручит alizeus. Надо и мне покопаться в дополнениях. Может тоже чего полезного найду.
Автор: alizeus
Дата сообщения: 19.04.2011 23:52
tRippinthehead
Преогромнейшее спасибо!
Самое то, что было нужно. Во всём разобрался, чуть подправил под собственные нужды, теперь работает как и было задумано.
Если не сложно, занесите пожалуйста этот пример в шапку. Наверняка ещё кому-то пригодится. Я вот долго листал страницы и искал, но не нашёл, пришлось спрашивать.
Ещё раз огромнейшее спасибо!
Автор: Zloy_Gelud
Дата сообщения: 20.04.2011 13:24
Еще один вариант splash-заставки (плавное появление + звук).
http://rghost.ru/5259823 - содержимое архива скопировать в папку Docs вашего проекта.

Project > Actions...: On Startup:

Код: DLL.CallFunction(_SourceFolder.."\\AutoPlay\\Docs\\callnsis.dll", "callplug", '0,"'.._SourceFolder..'\\AutoPlay\\Docs\\AdvSplash.dll","show","2800","1400","1200","-1","'.._SourceFolder..'\\AutoPlay\\Docs\\logo","","","","",""', DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL);
Автор: alizeus
Дата сообщения: 20.04.2011 14:42
Zloy_Gelud
Чего-то не качаетсо ((((
Видел, что скачан 3 раза, а у меня ни как. Сможешь перезалить куда нибудь пожалуйста.
Автор: Zloy_Gelud
Дата сообщения: 20.04.2011 14:53
alizeus

Цитата:
Чего-то не качаетсо ((((

Ага. Сейчас RGhost не отвечает.
http://zalil.ru/30898258

ЗЫ. Не со всеми параметрами разобрался. Если разобраться, то наверняка можно еще и цвет транспарента указывать..
Автор: alizeus
Дата сообщения: 20.04.2011 15:12
Zloy_Gelud
Спасибо. Я так понимаю формат bmp не принципиален?
Вот бы ещё плавное появление основного окна как неть сделать )))
Я в принципе сделал, но пришлось лишнюю страницу добавлять, что не есть гут. Если бы по средствам dll ок, было бы супер. Но пока я не очень рублю в этом.

Вот какой вопрос, чуть не забыл, а можно ли файлы ресурсов, то бишь иконки, диалоги, файлы img запихнуть в исполняемый файл? Что бы в проекте не было папок Buttons, Icons, Images. Это возможно?
Автор: tRippinthehead
Дата сообщения: 20.04.2011 15:20
Zloy_Gelud

Цитата:
Есть еще либа для индикация хода распаковки 7z-архива в АМС. Если нужно кому, то могу выложить.


Нука нука, любопытно, клади



Добавлено:
alizeus

Цитата:
Вот бы ещё плавное появление основного окна как неть сделать )))
Я в принципе сделал, но пришлось лишнюю страницу добавлять, что не есть гут. Если бы по средствам dll ок, было бы супер. Но пока я не очень рублю в этом.


Вроде бы раньше в этом топике уже выкладывали пример для этого, но я повторю:

http://zalil.ru/30898531 -либу скинь в AutoPlay\Docs

в событие On Preload окна вставь код:

Код:
sOS=String.Right(System.GetOSName(),2);
if (sOS == "95" ) or (sOS == "98") or (sOS == "NT") then
    blnFade = false;
else
    blnFade = true;
    Opacity = 0;
    hWnd = Application.GetWndHandle();
    DLL.CallFunction("AutoPlay\\Docs\\wTrans.dll", "SetWindowTransparency", hWnd..","..Opacity, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)
end

Page.StartTimer(20, 10);
Автор: alizeus
Дата сообщения: 20.04.2011 16:46
tRippinthehead
Спасибо за dll-ку и разъяснения по прикрутке ресурсов.
Автор: Zloy_Gelud
Дата сообщения: 20.04.2011 18:46
tRippinthehead

Цитата:
Нука нука, любопытно, клади

http://zalil.ru/30899932 - библиотека, написанная камрадом ExpeditoR для Inno Setup, но мы прикрутили ее и для АМС
Пример использования:

Вызывать с необходимого места:

Код: Extract7z = function (hWnd, hProgressBar, hStatic, sArcPath, sOutPath, sPass)
DLL.CallFunction("AutoPlay\\Docs\\is7z.dll", "Extract7z", hWnd..","..hProgressBar..","..hStatic..
',"'..sArcPath..'","'..sOutPath..
'","'..sPass..'"', 1, 1);
end

CancelExtract = function () DLL.CallFunction("AutoPlay\\Docs\\is7z.dll", "CancelExtract", "", 1, 1); end


local hWnd = Application.GetWndHandle();
local hPB = Progress.GetProperties("Progress1").WindowHandle;
local hStatic = 0;
local sArcPath = "C:\\1.7z";
local sOutPath = "D:\\";
local sPassword = "";
Extract7z(hWnd, hPB, hStatic, sArcPath, sOutPath, sPassword);
Автор: alizeus
Дата сообщения: 20.04.2011 19:39
tRippinthehead
Сталкнулся с такой проблемой с этим исчезновением - появлением.
Итак, при запуске появляется нужная мне надпись, далее появляется окно главного меню.
Всё как положено, но.... Проект состоит из 6-ти страниц, главной является 1 страница. Все страницы переключаются нормально, но при открытии 1 страницы начинается снова-здорова, опять открывается надпись, как при открытии проекта, и пояыляется 1 страница проекта. Делал двумя способами.
1. Прописывал :
hWnd = Application.GetWndHandle();
Dll = "AutoPlay\\Images\\isgsg.dll";
SplashFile = "AutoPlay\\Images\\1.png";
FadeInTime = 3000;
FadeOutTime = 2500;
TimeToShow = 1500;
DLL.CallFunction(Dll, "ShowSplashScreen", hWnd..",\""..SplashFile.."\","..FadeInTime..","..TimeToShow..","..FadeOutTime..",0,255,False,$FFFFFF,10", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL, true);
sOS=String.Right(System.GetOSName(),2);
if (sOS == "95" ) or (sOS == "98") or (sOS == "NT") then
blnFade = false;
else
blnFade = true;
Opacity = 0;
hWnd = Application.GetWndHandle();
DLL.CallFunction("AutoPlay\\Images\\wTrans.dll", "SetWindowTransparency", hWnd..","..Opacity, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)
end
Page.StartTimer(20, 10);

на главной странице.
2 Способ - создавал пустую страницу, где писал:
hWnd = Application.GetWndHandle();
Dll = "AutoPlay\\Images\\isgsg.dll";
SplashFile = "AutoPlay\\Images\\ygn.png";
FadeInTime = 3000;
FadeOutTime = 2500;
TimeToShow = 1500;
DLL.CallFunction(Dll, "ShowSplashScreen", hWnd..",\""..SplashFile.."\","..FadeInTime..","..TimeToShow..","..FadeOutTime..",0,255,False,$FFFFFF,10", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL, true);

После чего попадал на главную, а у неё писал:
sOS=String.Right(System.GetOSName(),2);
if (sOS == "95" ) or (sOS == "98") or (sOS == "NT") then
blnFade = false;
else
blnFade = true;
Opacity = 0;
hWnd = Application.GetWndHandle();
DLL.CallFunction("AutoPlay\\Images\\wTrans.dll", "SetWindowTransparency", hWnd..","..Opacity, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL)
end
Page.StartTimer(20, 10);

В этом случае при перещёлкивании меню, и попадании на главную она открывается без надписи соответственно, но скорость открытия её составляет Page.StartTimer(20, 10); т.е. медленней чем положено.
Вопрос - как сделать так, что бы процесс появления/ исчезания надписи и плавного открытия главной страницы отрабатывал всего 1 раз?
Автор: Vadim021X
Дата сообщения: 20.04.2011 20:20
Не подскажите, как сделать так, чтобы при нажатии кнопки на клаве Enter? Запускалась определённая кнопка в проеке?

Добавлено:
Не подскажите, как сделать так, чтобы при нажатии кнопки Enter на клаве, запускалась определённая кнопка в проеке?
Автор: Robby
Дата сообщения: 20.04.2011 21:11
alizeus
можно сделать поместив код в условие, например

Код:
if not show then
-- тут твой код
    show=true;
end
Автор: alizeus
Дата сообщения: 20.04.2011 23:26
Robby
То, что нужно.
Автор: Vadim021X
Дата сообщения: 21.04.2011 13:21
Подскажите что тут не так:


Код:
RichText.SetText("11", Dialog.PasswordInput("Slimax", "Введите сюда новый пароль пользователя:", MB_ICONQUESTION), true);
Автор: Zloy_Gelud
Дата сообщения: 21.04.2011 13:51
Vadim021X

Код: RichText.SetText("11", Dialog.PasswordInput("Slimax", "Введите сюда новый пароль пользователя:", MB_ICONQUESTION), false);
Автор: DRIFTER2592
Дата сообщения: 21.04.2011 21:09
Здравствуйте
Помогите с проблемой (я думаю уже не одно сотню раз про это говорилось, но всё-же):
Я создаю один исполняемый файл, и мне надо запустить "setup.exe" из папки с исполняемый файлом
Получаеться только если запустить из внутренней папки с исполняемым файлом, но тогда игра весом в 6гб находиться запакованая в один файл автозапуска что крайне некрасиво
Автор: Nightout1
Дата сообщения: 23.04.2011 14:58
Здравствуйте Народ Помогите Пожалуйста
У меня такая проблема
В другом компютере шрифт проекта автоматический меняются как можно зделать чтобы все эти шрифты не менялись
И еще как можно сделать поиск по всем страницам
Автор: Zloy_Gelud
Дата сообщения: 24.04.2011 00:35
2All

Старожилы данного топика наверняка помнят известный проект EasySlider от самого опытного участника данного форума по AutoPlay Media Studio - tavria2. Ну чтож, представляю реинкарнацию данного проекта для АМС 8. Ура, товарищи!
mezi и другие, которым был необходим кастомный слайдер радуйтесь, вы получили то, что хотели.


Демонстрационный пример псевдо-слайдеров


Для использования псевдо-слайдера в своем проекте, Вам нужно в глобальных функциях добавить всего одну строчку кода, который будет загружать скрипт из файла "SliderEx.lua" и добавить на страницу проекта две кнопки с "правильными" именами, одна из которых будет выступать в роли панели слайдера, а другая в роли ползунка.
Все, слайдер готов.




Скачать/download: RGhost.Net | Zalil.Ru ~510 KB


Добавлено:
Кстати, никто не в курсе куда сам tavria2 пропал?
Автор: tavria2
Дата сообщения: 24.04.2011 12:35
Zloy_Gelud

Цитата:
Кстати, никто не в курсе куда сам tavria2 пропал?

Я не пропал Просто времени хватает только на чтение форума.

Цитата:
Старожилы данного топика наверняка помнят известный проект EasySlider...

Даже и не думал, что это может еще понадобиться, ведь уже есть плагин Slider от reteset.

P.S. Поздравляю всех с праздником!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

Предыдущая тема: Media Player Classic - Home Cinema (MPC-HC)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.