Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Blitz3D > FAQ

FAQ Туториалы и часто задаваемые вопросы

Ответ
 
Опции темы
Старый 08.02.2012, 18:20   #1
Angel_Online
Оператор ЭВМ
 
Аватар для Angel_Online
 
Регистрация: 05.06.2011
Адрес: Киров, Россия
Сообщений: 21
Написано 8 полезных сообщений
(для 41 пользователей)
Подмигивание Прозрачные окна - это реально!

Всем доброго времени суток! Давно хотелось сделать прозрачные окна или окна нестандартной формы в Blitz3d Здесь небольшой примерчик с описанием этого процесса. Описание в комментариях *.bb файла. Знающим просьба не кричать в один голос, мол изобрел трехколесный самокат. Данная тема для тех, кто (так же, как я недавно), хочет сделать, но не получается. К сожалению, нарямую всеми функциями API оперировать не удалось, пришлось использовать в данном примере либу WinBlitz3d. Но в дальнейшем я все равно разберусь в данном вопросе.
Итак. В архиве все dll & decls кидаем в папку userlibs, также на всякий случай кидаем туда же user32.dll прямиком из вашей винды (windows\system32\user32.dll). А теперь можно и запустить пример.
АХТУНГ! Делал на win7 x86! На др. версиях винды не тестил, так что возможны глюки.
В общем, кому я действительно помог, жмем кнопочку "Полезно". Думаю, мне пора "всплывать" из AnyKey`щиков
Ах да, забыл.. формат изображения - только BMP, цвет маски - черный (RGB 0,0,0)
Вложения
Тип файла: rar Transp_windows.rar (618.2 Кб, 200 просмотров)
__________________
If user = teapot then
RuntimeError "user_brain.dll not found"
end
endif

Прозрачные окна png с маской! Версия 1.1!

ТОЛЬКО ИМПРОВИЗАЦИЯ! ТОЛЬКО ХАРДКОР!
(Offline)
 
Ответить с цитированием
Эти 9 пользователя(ей) сказали Спасибо Angel_Online за это полезное сообщение:
ABTOMAT (08.02.2012), Amatsu (08.02.2012), ARA (08.02.2012), burovalex (11.04.2012), Dzirt (19.02.2012), FREE MAN (08.02.2012), IgorOK (18.02.2012), mihailkirillov (18.02.2012), Randomize (08.02.2012)
Старый 08.02.2012, 20:03   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,331
Написано 5,171 полезных сообщений
(для 14,933 пользователей)
Ответ: Прозрачные окна - это реально!

Хмм, а нельзя ли не по маске, а с труЪ-прозрачностью (навроде PNG), а то уже рваные края давненько не в моде.
Вот если б ты это сделал и оформил в удобный инклуд, был бы респект!
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Angel_Online (08.02.2012)
Старый 08.02.2012, 20:07   #3
Angel_Online
Оператор ЭВМ
 
Аватар для Angel_Online
 
Регистрация: 05.06.2011
Адрес: Киров, Россия
Сообщений: 21
Написано 8 полезных сообщений
(для 41 пользователей)
Ответ: Прозрачные окна - это реально!

Сообщение от ABTOMAT Посмотреть сообщение
Хмм, а нельзя ли не по маске, а с труЪ-прозрачностью (навроде PNG), а то уже рваные края давненько не в моде.
Вот если б ты это сделал и оформил в удобный инклуд, был бы респект!
Ну.. я и сам хотел бы в png.. пока что работаю над этим.. если удастся реализовать - отпишусь в этой теме
__________________
If user = teapot then
RuntimeError "user_brain.dll not found"
end
endif

Прозрачные окна png с маской! Версия 1.1!

ТОЛЬКО ИМПРОВИЗАЦИЯ! ТОЛЬКО ХАРДКОР!
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Angel_Online за это полезное сообщение:
ABTOMAT (08.02.2012), FREE MAN (18.02.2012)
Старый 10.02.2012, 19:04   #4
Angel_Online
Оператор ЭВМ
 
Аватар для Angel_Online
 
Регистрация: 05.06.2011
Адрес: Киров, Россия
Сообщений: 21
Написано 8 полезных сообщений
(для 41 пользователей)
Ответ: Прозрачные окна - это реально!

Итак, ползал я денно и ночно по лабиринтам gdi32.dll и gdiplus.dll, но ни одной "ниточки Ариадны" ни самостоятельно, ни в гуглах не нашел
Поэтому решил схитрить.
Мной был найден пример на Visual Basic, увы на блиц полностью синтаксис я перевести не смог.
По примеру я сделал VB-екзешник (в архиве как Splashscreen.exe)
Работает все ну очень просто: в bb файле даже есть функция
Через неё Splashscreen.exe запускается с параметром, идентичным названию изображения. В архиве 3 картинки, специально мной отобранные для демонстрации.
Splashscreen.exe закрывается двойным кликом по картинке!
! Косяк - большие png глючат! Это надо в коде VB исправлять. В ближайшем времени исправлю, просто накидал на скорую руку, не хотел заставлять вас долго ждать
Недоработки:
1. Не реализованы координаты изображения
2. Пока что можно загружать одну картинку, вторая уже будет дубликатом Splashscreen.exe
3. Не реализовано всплывание/затухание
4. Не реализована анимация (не обещаю, но возможно смогу сделать)

Достоинства:
1. Splashscreen.exe можно вызывать из любого языка программирования
2. Никаких dll и decls

Надеюсь, вам понравится, в дальнейшем буду улучшать сей проектик
Вложения
Тип файла: rar TpanspWindow V 1.0.rar (272.9 Кб, 158 просмотров)
__________________
If user = teapot then
RuntimeError "user_brain.dll not found"
end
endif

Прозрачные окна png с маской! Версия 1.1!

ТОЛЬКО ИМПРОВИЗАЦИЯ! ТОЛЬКО ХАРДКОР!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
HolyDel (11.02.2012)
Старый 10.02.2012, 19:24   #5
HolyDel
 
Регистрация: 25.09.2006
Сообщений: 6,030
Написано 1,469 полезных сообщений
(для 2,690 пользователей)
Ответ: Прозрачные окна - это реально!

а можно скомпилированную версию в комплекте?
(Offline)
 
Ответить с цитированием
Старый 10.02.2012, 19:28   #6
Angel_Online
Оператор ЭВМ
 
Аватар для Angel_Online
 
Регистрация: 05.06.2011
Адрес: Киров, Россия
Сообщений: 21
Написано 8 полезных сообщений
(для 41 пользователей)
Ответ: Прозрачные окна - это реально!

Конечно можно
Хоть отпишитесь кто-нить, стоит ли мне продолжать в данном направлении? А то поди зря стараюсь!
Вложения
Тип файла: rar TpanspWindow V 1.0_With_B3D_ExE.rar (747.8 Кб, 158 просмотров)
__________________
If user = teapot then
RuntimeError "user_brain.dll not found"
end
endif

Прозрачные окна png с маской! Версия 1.1!

ТОЛЬКО ИМПРОВИЗАЦИЯ! ТОЛЬКО ХАРДКОР!

Последний раз редактировалось Angel_Online, 11.02.2012 в 07:34.
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо Angel_Online за это полезное сообщение:
ABTOMAT (18.02.2012), burovalex (11.04.2012), Dzirt (18.02.2012), HolyDel (11.02.2012), Trazzy (11.02.2012)
Старый 11.02.2012, 07:53   #7
HolyDel
 
Регистрация: 25.09.2006
Сообщений: 6,030
Написано 1,469 полезных сообщений
(для 2,690 пользователей)
Ответ: Прозрачные окна - это реально!

хм. а вот это уже очень интересно. сам интересовался способами вывода окошка с полупрозрачной альфой по опасити. Но чо то так и не добил Не поделишься технологией?
(Offline)
 
Ответить с цитированием
Старый 11.02.2012, 08:07   #8
Angel_Online
Оператор ЭВМ
 
Аватар для Angel_Online
 
Регистрация: 05.06.2011
Адрес: Киров, Россия
Сообщений: 21
Написано 8 полезных сообщений
(для 41 пользователей)
Ответ: Прозрачные окна - это реально!

Ну... как я писал, полностью блицем мне это реализовать не удалось, пришлось подключать Visual Basic. Просто gdi32.dll и gdiplus.dll используют структуры (например, BITMAPINFOHEADER,RGBQUAD,POINTAPI и т.д.), которые через Blitz я ну никак не мог выразить. видел примеры и на Си и на Дельфи, но VB мне как-то поближе. Нашел пример на VB, сделал по нему, добавил поддержку скана коммандной строки (то есть, чтобы Splashscreen.exe понимал с какими параметрами его запускают). Пока сделал лишь один параметр, содержащий имя PNG файла. Как планирую развивать проект в дальнейшем, написано выше. Добавлю поддержку нескольких png одновременно, параметры координат PNG, время затухания/всплывания/задержки, возможно даже получится сделать анимацию на основе стрипов или файлокадров. Вот
В финале получится что-то типа безDLL-ной freeлибы... Вариант шаровары я отверг, ибо пока понесу пользу людям самоотверженно
Есть только одна корысть во всем этом - охота выползти из AnyKey`щиков. Охота получить какое-то определенное место на этом форуме. Разумеется, одним, даже полностью готовым проектом я далеко не обойдусь, поэтому приложу старание и усердие.
__________________
If user = teapot then
RuntimeError "user_brain.dll not found"
end
endif

Прозрачные окна png с маской! Версия 1.1!

ТОЛЬКО ИМПРОВИЗАЦИЯ! ТОЛЬКО ХАРДКОР!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
burovalex (11.04.2012)
Старый 18.02.2012, 13:02   #9
Angel_Online
Оператор ЭВМ
 
Аватар для Angel_Online
 
Регистрация: 05.06.2011
Адрес: Киров, Россия
Сообщений: 21
Написано 8 полезных сообщений
(для 41 пользователей)
Радость Ответ: Прозрачные окна - это реально!

Итак...
Я был вынужден написать dll, а то со вторым экзешником и командной строкой какое-то порно получилось
Вот вам версия 1.1 на ваш страшный суд
Синтаксис команд упрощен до необходимого минимума.
Реализовано:
1. Поддержка png-окна Блицем (больше никаких левых екзешников!)
2. Реализованы координаты изображений (пока что лишь начальные, Moving сделаю позже)
3. Да, вы не ослышались, изображений. Поддержка нескольких изображений!
4. Возможно менять общий уровень прозрачности окна (т.е. всплывание/затухание либо полупрозрачное окно), при этом маска сохраняется

пока что все, выкладываю новую версию моего скромного творчества, побалуйтесь
dll и decls в комплекте. Думаю, не нужно обьяснять, что с ними делать.
Скомпиленная версия тоже в комплекте
В комментариях присутствует расшифровка синтаксиса.
ах, да, длл и decls, использумые в моей 1й версии (которая еще с BMP была) вам не нужны!

В следующих версиях попытаюсь расширить функционал сей либы, с анимацией пока напряги, возможно попробую другие возможности

Просьба отписаться, понравилось ли вам, и нет ли багов на WinXp и Win7 x64!
Вложения
Тип файла: rar TranspWindow V 1.1.rar (813.3 Кб, 182 просмотров)
__________________
If user = teapot then
RuntimeError "user_brain.dll not found"
end
endif

Прозрачные окна png с маской! Версия 1.1!

ТОЛЬКО ИМПРОВИЗАЦИЯ! ТОЛЬКО ХАРДКОР!
(Offline)
 
Ответить с цитированием
Эти 13 пользователя(ей) сказали Спасибо Angel_Online за это полезное сообщение:
ABTOMAT (18.02.2012), Arton (24.09.2012), burovalex (11.04.2012), Dream (11.04.2012), Dzirt (18.02.2012), FireOwl (18.02.2012), FREE MAN (18.02.2012), HolyDel (19.02.2012), IgorOK (18.02.2012), L.D.M.T. (18.02.2012), MadMedic (19.02.2012), mauNgerS (19.02.2012), Nex (19.02.2012)
Старый 19.02.2012, 06:58   #10
4yBa4Ok
Знающий
 
Аватар для 4yBa4Ok
 
Регистрация: 01.04.2011
Адрес: Екатеринбург
Сообщений: 232
Написано 48 полезных сообщений
(для 82 пользователей)
Ответ: Прозрачные окна - это реально!

Win7 x86 Все ок пашет, понравились игральные кости
__________________





(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 09:34   #11
Angel_Online
Оператор ЭВМ
 
Аватар для Angel_Online
 
Регистрация: 05.06.2011
Адрес: Киров, Россия
Сообщений: 21
Написано 8 полезных сообщений
(для 41 пользователей)
Радость Ответ: Прозрачные окна - это реально!

Ну на Win7 x86 я делал, так что меня больше интересует WinXp 32/64 Bit и Win7 x64.

Вчера сделал Moving и Scaling(пропорциональный и непропорциональный), но Scaling кривой, увеличение получилось относительное и увеличивается не относительно центра. Возможно придется реконструировать либу либо усложнять синтаксис. Одно уже точно могу сказать - придется добавлять команды возврата значений высоты и ширины (черновое название PngWidth и PngHeight). С другой стороны, постараюсь упростить код посредством функций в самом Blitz3d.

Возможно, в следующей версии будет несколько примеров, но компилить буду только один, уж больно быстро тратится место, зарезервированное форумом для моих вложений, файлообменники не все вечны, а на всякие депозиты/летитбиты я принципиально ничего не заливаю

Кстати, кто не знает, как убрать черное окошко при запуске (оно хоть на секунду но мелькает как ни прятать его). Есть патч. Вчера случайно нашел в нете (Убираем в Blitz3D чёрное окно) Помогает

p.s. Кстати, картинки не мои Просто нашёл в нете наиболее наглядные
__________________
If user = teapot then
RuntimeError "user_brain.dll not found"
end
endif

Прозрачные окна png с маской! Версия 1.1!

ТОЛЬКО ИМПРОВИЗАЦИЯ! ТОЛЬКО ХАРДКОР!
(Offline)
 
Ответить с цитированием
Старый 19.02.2012, 09:42   #12
HolyDel
 
Регистрация: 25.09.2006
Сообщений: 6,030
Написано 1,469 полезных сообщений
(для 2,690 пользователей)
Ответ: Прозрачные окна - это реально!

Win7 64. работает.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Angel_Online (19.02.2012)
Старый 11.04.2012, 08:41   #13
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 36 полезных сообщений
(для 59 пользователей)
Ответ: Прозрачные окна - это реально!

Красавчик!! Респект тебе! )
А чтоб из Any'кейщика вылезти, над просто немоного побольше писать сообщений
__________________
(Offline)
 
Ответить с цитированием
Старый 11.04.2012, 09:58   #14
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,914
Написано 3,398 полезных сообщений
(для 9,288 пользователей)
Ответ: Прозрачные окна - это реально!

Однако стоит напомнить что слишком усердное набивание сообщений (особенно без смысла) может караться бананом на различные сроки. А так же флуд может быть удален (и счётчик уменьшится), а для особенно яростных набивателей статуса можно зафиксировать статус навечно.
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


Часовой пояс GMT +1, время: 05:44.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com