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

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

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

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 19.10.2007, 19:07   #1
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Смена разрешения.

Здраствуйте господа форумчане! У меня такая проблема, в настройках игры в которой я занимаюсь GUI и т.д. будет возможность менять разрешение экрана. Но вот в чем проблема. Игра заточена под разрешение 1024*768 но как сделать что изображение скажем при разрешении 800*600 не заползало за экран, даже кнопок невидно. Я пробовал ScaleImage но ведь тогда придется каждую кнопку, каждый элемент меню скалить, и как мне кажется это весьма лагучая команда.
Вообщем в результате лазаний по инету я наткнулся на либу FastImage, она интерестна тем что в ее состав входит очень полезная команда SetProjScale которая как я понел скалить всю 2д проекцию. Но вот в чем проблема... я никак не могу ее заюзать. Не получается. В начале проги я подключаю файл FastImage.bb, есесно, а может и не правильно, я высываю файлы FastImage.dll и FastImage.decls в папку Блитца Userlibs.
Пишу в коде SetProjScale (.1,.1) просто для теста что бы посмотреть как пашет либа, и ничего не менятся. Изображение которое в проге показывается имеет разрешение 1024*768, разрешение проги 800*600.
Вообщем те кто пользовался FastImage помогите...
(Offline)
 
Ответить с цитированием
Старый 19.10.2007, 19:49   #2
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Re: Смена разрешения.

Во первых прочитай документацию к либе. Там все описано, какие команды чего делают. Во вторых ничего и не произойдет если просто впишешь в свою программу эту строку, так библа не инициализирована, и производит действия только над изображениями созданными функциями ее библиотеки, то есть если ты применяешь функции loadimage это не прокатит. Внимательно изучи примеры к библиотеке.
Значит по проблеме: используй команды Graphicswidth(), GraphicsHeight(), которые возвращают ширину и соответственно высоту экрана. Вот с помощью них и устанавливай картинки там где они должны быть, тогда им никакая смена разрешения не грозит, натипо этого:

DrawImage img_1, Graphicswidth()-100, Graphicsheight()*0.5, 0
(Offline)
 
Ответить с цитированием
Старый 20.10.2007, 17:01   #3
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Re: Смена разрешения.

А кто-нибудь знаеат, как на bmax сменить расширение? допстим, все каринки под 1024х768 подстроены.. а как быть при мене расширения?
изменять размеры картинок? или иметь картинку каждую на своё расширение?
(Offline)
 
Ответить с цитированием
Старый 20.10.2007, 18:20   #4
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: Смена разрешения.

Если я не ошибаюсь, то чтобы подогнать под нужное разрешение, х-координату картинки нужно умножить на ширину текущего разрешения / ширина желаемого, у - координата аналогично.
(Offline)
 
Ответить с цитированием
Старый 20.10.2007, 20:05   #5
jimon
 
Сообщений: n/a
Re: Смена разрешения.

для етого на bmaxе делаем тип камеры, и там тупо меняем zoom
 
Ответить с цитированием
Старый 04.11.2007, 20:20   #6
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Re: Смена разрешения.

Всем привет! Вот так я меняю разрешение игры, при разных разрешениях, изображение Resize-иться в определенной пропорции, примерно так ResizeImage fone,GrapX,GrapY где GrapX=GraphicsWidth (),GrapY=GraphicsHeight (). Все работает, но есть одно но, все это прилично долго грузиться - когда игра тока запускается или переходит из одного режима игры в другой (из меню в игру и обратно). И немного подлагивает.
У кого есть другие идеи решения сей насущной проблемы без ScaleImage и ResizeImage, так как эти команды как мне кажется весьма рессурсоемки.
Заранее спасибо за ответ.
(Offline)
 
Ответить с цитированием
Старый 04.11.2007, 23:23   #7
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
Re: Смена разрешения.

FastImage
(Offline)
 
Ответить с цитированием
Старый 05.11.2007, 00:41   #8
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Re: Смена разрешения.

А где можна взять подробные туториалы по FastImage-у... для чайников.
(Offline)
 
Ответить с цитированием
Старый 05.11.2007, 06:05   #9
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: Смена разрешения.

Их нету. Все как в блицмаксе, за исключением того, что библу надо проинициализировать.
(Offline)
 
Ответить с цитированием
Старый 05.11.2007, 22:14   #10
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Re: Смена разрешения.

Жалко, придется путем научного тыка изучать FastImage так как с BMax-ом еще не сталкивался.
(Offline)
 
Ответить с цитированием
Старый 05.11.2007, 22:22   #11
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Смена разрешения.

Bagration, ну в ФастИмаг всё интуитивно понятно И примеры на все слачаи есть
(Offline)
 
Ответить с цитированием
Старый 05.11.2007, 23:58   #12
Bagration
Знающий
 
Регистрация: 06.10.2007
Сообщений: 225
Написано 15 полезных сообщений
(для 21 пользователей)
Re: Смена разрешения.

Я тока вот с маской разобраться немогу, кошмар просто как и куда вводить параметры маски? Хм, плиз дайте пример для FastImage c маской.
Заранее спасибо!
(Offline)
 
Ответить с цитированием
Старый 06.11.2007, 13:14   #13
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Смена разрешения.

Там же какраз вроде был пример.
Смотри функцию SetBlend там будет МаскедБленд - что-то типо этого.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор разрешения в меню! Unodeya 3D-программирование 3 19.05.2009 11:33
смена разрешения NoNsense 3D-программирование 21 10.08.2008 10:19
смена разрешения. HolyDel FAQ 17 19.12.2007 17:19
изменение разрешения и загруженые ресурсы jimon 2D-программирование 5 13.11.2007 01:09
Смена дня и ночи haedim 3D-программирование 18 30.10.2006 22:23


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


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