forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Смена разрешения. (http://forum.boolean.name/showthread.php?t=4814)

Bagration 19.10.2007 19:07

Смена разрешения.
 
Здраствуйте господа форумчане! :) У меня такая проблема, в настройках игры в которой я занимаюсь GUI и т.д. будет возможность менять разрешение экрана. Но вот в чем проблема. Игра заточена под разрешение 1024*768 но как сделать что изображение скажем при разрешении 800*600 не заползало за экран, даже кнопок невидно. Я пробовал ScaleImage но ведь тогда придется каждую кнопку, каждый элемент меню скалить, и как мне кажется это весьма лагучая команда.
Вообщем в результате лазаний по инету я наткнулся на либу FastImage, она интерестна тем что в ее состав входит очень полезная команда SetProjScale которая как я понел скалить всю 2д проекцию. Но вот в чем проблема... я никак не могу ее заюзать. Не получается. :''(( В начале проги я подключаю файл FastImage.bb, есесно, а может и не правильно, я высываю файлы FastImage.dll и FastImage.decls в папку Блитца Userlibs.
Пишу в коде SetProjScale (.1,.1) просто для теста что бы посмотреть как пашет либа, и ничего не менятся. :( Изображение которое в проге показывается имеет разрешение 1024*768, разрешение проги 800*600.
Вообщем те кто пользовался FastImage помогите...:dontknow: :@

H@NON 19.10.2007 19:49

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

DrawImage img_1, Graphicswidth()-100, Graphicsheight()*0.5, 0

Данил 20.10.2007 17:01

Re: Смена разрешения.
 
А кто-нибудь знаеат, как на bmax сменить расширение? допстим, все каринки под 1024х768 подстроены.. а как быть при мене расширения?
изменять размеры картинок? или иметь картинку каждую на своё расширение?

johnk 20.10.2007 18:20

Re: Смена разрешения.
 
Если я не ошибаюсь, то чтобы подогнать под нужное разрешение, х-координату картинки нужно умножить на ширину текущего разрешения / ширина желаемого, у - координата аналогично.

jimon 20.10.2007 20:05

Re: Смена разрешения.
 
для етого на bmaxе делаем тип камеры, и там тупо меняем zoom :)

Bagration 04.11.2007 20:20

Re: Смена разрешения.
 
Всем привет! Вот так я меняю разрешение игры, при разных разрешениях, изображение Resize-иться в определенной пропорции, примерно так ResizeImage fone,GrapX,GrapY где GrapX=GraphicsWidth (),GrapY=GraphicsHeight (). Все работает, но есть одно но, все это прилично долго грузиться - когда игра тока запускается или переходит из одного режима игры в другой (из меню в игру и обратно). И немного подлагивает. :(
У кого есть другие идеи решения сей насущной проблемы без ScaleImage и ResizeImage, так как эти команды как мне кажется весьма рессурсоемки.
Заранее спасибо за ответ.

ЛысыЙ_Чук-Иванчук 04.11.2007 23:23

Re: Смена разрешения.
 
FastImage

Bagration 05.11.2007 00:41

Re: Смена разрешения.
 
А где можна взять подробные туториалы по FastImage-у... для чайников. :)

johnk 05.11.2007 06:05

Re: Смена разрешения.
 
Их нету. Все как в блицмаксе, за исключением того, что библу надо проинициализировать.

Bagration 05.11.2007 22:14

Re: Смена разрешения.
 
Жалко, придется путем научного тыка изучать FastImage так как с BMax-ом еще не сталкивался.

moka 05.11.2007 22:22

Re: Смена разрешения.
 
Bagration, ну в ФастИмаг всё интуитивно понятно :) И примеры на все слачаи есть ;)

Bagration 05.11.2007 23:58

Re: Смена разрешения.
 
Я тока вот с маской разобраться немогу, кошмар просто :''(( как и куда вводить параметры маски? Хм, плиз дайте пример для FastImage c маской. :)
Заранее спасибо! ;)

moka 06.11.2007 13:14

Re: Смена разрешения.
 
Там же какраз вроде был пример.
Смотри функцию SetBlend там будет МаскедБленд - что-то типо этого.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot