Смена разрешения.
Здраствуйте господа форумчане! :) У меня такая проблема, в настройках игры в которой я занимаюсь 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: :@ |
Re: Смена разрешения.
Во первых прочитай документацию к либе. Там все описано, какие команды чего делают. Во вторых ничего и не произойдет если просто впишешь в свою программу эту строку, так библа не инициализирована, и производит действия только над изображениями созданными функциями ее библиотеки, то есть если ты применяешь функции loadimage это не прокатит. Внимательно изучи примеры к библиотеке.
Значит по проблеме: используй команды Graphicswidth(), GraphicsHeight(), которые возвращают ширину и соответственно высоту экрана. Вот с помощью них и устанавливай картинки там где они должны быть, тогда им никакая смена разрешения не грозит, натипо этого: DrawImage img_1, Graphicswidth()-100, Graphicsheight()*0.5, 0 |
Re: Смена разрешения.
А кто-нибудь знаеат, как на bmax сменить расширение? допстим, все каринки под 1024х768 подстроены.. а как быть при мене расширения?
изменять размеры картинок? или иметь картинку каждую на своё расширение? |
Re: Смена разрешения.
Если я не ошибаюсь, то чтобы подогнать под нужное разрешение, х-координату картинки нужно умножить на ширину текущего разрешения / ширина желаемого, у - координата аналогично.
|
Re: Смена разрешения.
для етого на bmaxе делаем тип камеры, и там тупо меняем zoom :)
|
Re: Смена разрешения.
Всем привет! Вот так я меняю разрешение игры, при разных разрешениях, изображение Resize-иться в определенной пропорции, примерно так ResizeImage fone,GrapX,GrapY где GrapX=GraphicsWidth (),GrapY=GraphicsHeight (). Все работает, но есть одно но, все это прилично долго грузиться - когда игра тока запускается или переходит из одного режима игры в другой (из меню в игру и обратно). И немного подлагивает. :(
У кого есть другие идеи решения сей насущной проблемы без ScaleImage и ResizeImage, так как эти команды как мне кажется весьма рессурсоемки. Заранее спасибо за ответ. |
Re: Смена разрешения.
FastImage
|
Re: Смена разрешения.
А где можна взять подробные туториалы по FastImage-у... для чайников. :)
|
Re: Смена разрешения.
Их нету. Все как в блицмаксе, за исключением того, что библу надо проинициализировать.
|
Re: Смена разрешения.
Жалко, придется путем научного тыка изучать FastImage так как с BMax-ом еще не сталкивался.
|
Re: Смена разрешения.
Bagration, ну в ФастИмаг всё интуитивно понятно :) И примеры на все слачаи есть ;)
|
Re: Смена разрешения.
Я тока вот с маской разобраться немогу, кошмар просто :''(( как и куда вводить параметры маски? Хм, плиз дайте пример для FastImage c маской. :)
Заранее спасибо! ;) |
Re: Смена разрешения.
Там же какраз вроде был пример.
Смотри функцию SetBlend там будет МаскедБленд - что-то типо этого. |
Часовой пояс GMT +4, время: 19:29. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot