FreeBasic
Главная
Вход
Регистрация
Воскресенье, 19.11.2017, 22:42Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Библиотеки для FreeBasic » Библиотека Window9 для Freebasic » Сплешскрин (неужели так просто?)
Сплешскрин
AlecДата: Среда, 01.01.2014, 01:52 | Сообщение # 1
Лейтенант
Группа: Друзья
Сообщений: 73
Репутация: 1
Статус: Offline
Ещё раз убеждаюсь, какая отличная библиотека Window9. Так что ещё раз спасибо.
Сделал сплеш скрин, типа окно загрузки, пока основная программа (игра с 3D графикой) в другом окне скучно загружается около минуты.
Подход такой:
1.Открываю окно для использования в качестве сплешскрина и устанавливаю его поверх всех остальных. Цель: показывать его поверх окна основной программы.
Код
Var hwnd=OpenWindow("Splash",10,10,1024,768)
SetWindowTop(hwnd,1)
Var event=0

2.Запускаю основную программу с той частью кода, где идёт загрузка ресурсов.

3.Просто закрываю окно, которое использовано как сплешскрин:
Close_Window(hwnd)

...готово!

Теперь ещё работаю над тем, чтобы как вариант вставить прогрессбар.


WorldSim3D - 3D движок для FreeBasic, для PC. Мощная 3D графика и простота программирования. Ознакомиться.

Сообщение отредактировал Alec - Среда, 01.01.2014, 01:52
 
haavДата: Среда, 01.01.2014, 14:47 | Сообщение # 2
Генерал-лейтенант
Группа: Администраторы
Сообщений: 793
Репутация: 34
Статус: Offline
Сплешскрины чаще создают в DLL, но почему бы не сделать так как у тебя. Библиотека действительно облегчает многие вещи, я сейчас пишу еще одну шахматную оболочку, так очень удобен оказался OpenGLGadget . Не надо никаких лишних инициализаций, просто вызвал эту функцию и рисуй со всеми возможностями OpenGL.

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
AlecДата: Среда, 01.01.2014, 15:06 | Сообщение # 3
Лейтенант
Группа: Друзья
Сообщений: 73
Репутация: 1
Статус: Offline
Да, через dll более серьёзный подход. Я читал эту статью.

Интересно, можно ли как-то на время (пока показывается окно сплешскрина) дезактивировать мышку без цикла, а потом снова её активировать? Чтобы была "защита от дурака". А то когда сплешскрин таким образом выводится, то если несколько раз кликать мышкой - окно сплешскрина предлагает завершить программу. Пробовал команду DisableWindow, но после нескольких кликов то же самое. Также и флаг WS_DISABLED.

Хотя конечно это проблема дурака, который беспорядочно кликает и тыкает, всё не предусмотришь.


WorldSim3D - 3D движок для FreeBasic, для PC. Мощная 3D графика и простота программирования. Ознакомиться.
 
haavДата: Среда, 01.01.2014, 18:03 | Сообщение # 4
Генерал-лейтенант
Группа: Администраторы
Сообщений: 793
Репутация: 34
Статус: Offline
Если честно, без кода трудно понять почему у тебя вылезает завершение программы. Я понятия не имею куда ты там тыкаешь мышкой по нескольку раз. Исправлять подобную штуку надо по любому, потому как пользователи очень привередливы... Они тебе еще и не такой баг найдут. В общем , если хочешь чтобы я помог, выложи минимально возможный рабочий код и покажи на скрине куда надо тыкать мышкой, чтобы данный баг можно было увидеть.

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
AlecДата: Среда, 01.01.2014, 21:59 | Сообщение # 5
Лейтенант
Группа: Друзья
Сообщений: 73
Репутация: 1
Статус: Offline
Спасибо. Попробую разобраться, не получится - выложу код.

WorldSim3D - 3D движок для FreeBasic, для PC. Мощная 3D графика и простота программирования. Ознакомиться.
 
Форум » Библиотеки для FreeBasic » Библиотека Window9 для Freebasic » Сплешскрин (неужели так просто?)
Страница 1 из 11
Поиск: