Перейти к содержанию

About с бегущими титрами и звуковым сопровождением


MasterGH

Рекомендуемые сообщения

post-3-1317792451,09_thumb.png

Не забудьте указать свой путь к треку с музыкой



function OnMusicStopAndExit(sender)

if (xmplayer_isPlaying()) then
xmplayer_pause()
else
xmplayer_resume()
end
form_hide(formInfo)

end

deltaAboutY = 0

function timerGUIAboutLabel()

if deltaAboutY < -50*15 then
formInfoWidth, formInfoHeight = control_getSize(formInfo)
deltaAboutY = formInfoHeight + 10
else
deltaAboutY = deltaAboutY - 1
end

control_setPosition(AboutLbl, 40, deltaAboutY)
end

function ShowFormInfo()

formInfo = createForm(true)
control_setCaption(formInfo, "About Trainer")
form_onClose(formInfo, OnMusicStopAndExit)

formInfoWidth, formInfoHeight = control_getSize(formInfo)

aboutPanel = createPanel(formInfo)
control_setPosition(aboutPanel, 10, 10)
control_setSize(aboutPanel, formInfoWidth - 20, formInfoHeight - 40)

AboutLbl = createLabel(aboutPanel)

deltaAboutY = formInfoHeight+20
control_setPosition(AboutLbl, 40, formInfoHeight+20)
baseString = " BLA .. BLA ... BLA ... BLA .. BLA ... BLA\n\r"

for i=1, 50 do
baseString = baseString..i..")" .." BLA .. BLA ... BLA ... BLA .. BLA ... BLA\n" --i .. ") ".. baseString
end

control_setCaption(AboutLbl, baseString)

btnAboutExit = createButton(formInfo)
control_setCaption(btnAboutExit,"Exit")
btnAboutExitWidth, btnAboutExitHeight = control_getSize(btnAboutExit)
control_setPosition(btnAboutExit, formInfoWidth - 3 - btnAboutExitWidth, formInfoHeight - 3 - btnAboutExitHeight)
control_onClick(btnAboutExit, OnMusicStopAndExit)

form_centerScreen(formInfo)

xmplayer_playXM('C:\\Users\\master\\Desktop\\Gamehack\\CE\\CETrainer\\TrainerTest\\Trainer_GameHackLab[RU]\\GameHackLab[RU]_Trainers\\Resources(v1.0)\\musics\\SnD - Ahead DVD Ripper 2.4.1 kg.xm')

if timerGUIAbout == nil then
timerGUIAbout = createTimer(formInfo,false)
timer_setInterval(timerGUIAbout, 20)
timer_onTimer(timerGUIAbout, timerGUIAboutLabel)
end
timer_setEnabled(timerGUIAbout, true)
end

ShowFormInfo()
formInfo = nil

Изменено пользователем MasterGH
Изменена ошибка (ускорялся таймер)
Ссылка на комментарий
Поделиться на другие сайты

Интересно. Я так понял если вместо

for     i=1, 50 do

писать

for     i=1, 500 do

текст будет медлено бегать вверх.А какая команда отвечает за то что текст бегает вверх?

Ссылка на комментарий
Поделиться на другие сайты

function timerGUIAboutLabel()

if deltaAboutY < -50*15 then
formInfoWidth, formInfoHeight = control_getSize(formInfo)
deltaAboutY = formInfoHeight + 10
else
deltaAboutY = deltaAboutY - 1
end

control_setPosition(AboutLbl, 40, deltaAboutY) -- вот эта команда устанавливает позицию длинной строки титров с фиксированной шириной
end

Прежде всего на скорость влияет:

timer_setInterval(timerGUIAbout, 20)

Здесь 20 это интервал таймера, чем он больше, тем медленнее.

Ещё скорость можно увеличить перемещая строку не на одну позицию, а более:

function timerGUIAboutLabel()

if deltaAboutY < -50*15 then
formInfoWidth, formInfoHeight = control_getSize(formInfo)
deltaAboutY = formInfoHeight + 10
else
deltaAboutY = deltaAboutY - 1 -- если изменить 1 на большее значение, то текст будет двигаться менее плавно, но быстрее
end

control_setPosition(AboutLbl, 40, deltaAboutY)
end

Ссылка на комментарий
Поделиться на другие сайты

Внимание

Я что забыл написать.

На форуме control_onClick(btnAboutExit, OnMusicStopAndExit) там где красная буковка надо исправить на заглавную. Иначе у вас скрипт будет выдавать ошибку. Дело в том что форум автоматически исправляет букву "C" на букву нижнего регистра для защиты от XSS.

        btnAboutExit = createButton(formInfo)
control_setCaption(btnAboutExit,"Exit")
btnAboutExitWidth, btnAboutExitHeight = control_getSize(btnAboutExit)
control_setPosition(btnAboutExit, formInfoWidth - 3 - btnAboutExitWidth, formInfoHeight - 3 - btnAboutExitHeight)
control_onСlick(btnAboutExit, OnMusicStopAndExit) // здесь исправить!

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.