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

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

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

Ответ
 
Опции темы
Старый 06.01.2011, 17:17   #1
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Непропорцональность разрешений

Например игруха делается под разрешение 1024*768.
А ее запускают на весь экран на разрешении 1280*1024.
Эти два разрешения немного не пропорциональны, в итоке ровный круг будет чуть вытянутым по высоте.
сейчас во многих играх встречаю решение этой проблемы: внизу и вверху образуются маленькие черные полоски высотой наверное по 20 пикселей, а сама рабочая область игры пропорционально растягивается. (В качестве примера можно взять любую веселую ферму начиная с третьей части, кажется)

Как они такое делают?
Видимо на блитце решение отсутсвует((((
Спасибо!
(Offline)
 
Ответить с цитированием
Старый 06.01.2011, 17:44   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Непропорцональность разрешений

Ну, значит, сам делай растягивание - ручками. Не всему же быть предусмотренным в движке?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Старый 06.01.2011, 20:17   #3
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Непропорцональность разрешений

SetVievport нахрена прописали, а?
(Offline)
 
Ответить с цитированием
Старый 06.01.2011, 20:55   #4
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Непропорцональность разрешений

Ну давай блесни умом как ему это поможет.
__________________
(Offline)
 
Ответить с цитированием
Старый 06.01.2011, 21:04   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Непропорцональность разрешений

чтобы сместить точку начала рисования (Letterbox, windowbox). Только команда - Origin x,y.
Что любопытно -SetOrigin и SetViewport подсвечиваются, но хелпа к ним нет (Blitz3D Documentation Version No: 1.85 [1.88])
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 06.01.2011, 21:42   #6
RBK
Знающий
 
Аватар для RBK
 
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений
(для 166 пользователей)
Ответ: Непропорцональность разрешений

Сообщение от ELIAS Посмотреть сообщение
Например игруха делается под разрешение 1024*768.
А ее запускают на весь экран на разрешении 1280*1024.
Эти два разрешения немного не пропорциональны, в итоке ровный круг будет чуть вытянутым по высоте.
сейчас во многих играх встречаю решение этой проблемы: внизу и вверху образуются маленькие черные полоски высотой наверное по 20 пикселей, а сама рабочая область игры пропорционально растягивается. (В качестве примера можно взять любую веселую ферму начиная с третьей части, кажется)
Если 2D используй Viewport x, y, ширина, высота
Если 3D используй CameraViewport перем, x, y, ширина, высота
(Offline)
 
Ответить с цитированием
Старый 06.01.2011, 23:57   #7
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Непропорцональность разрешений

__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 00:12   #8
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Непропорцональность разрешений

Если в игре это не предусмотрено, и не хочется потом путать квадраты и прямоугольники, то можно просто потыкаться в настройках экрана (не в компе, а прям на мониторе кнопочки есть). Одна из настроек-в случае несоответствия соотношения ширины-высоты экран добавляет по краям черные полоски когда надо, очень полезная штука
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 02:10   #9
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Ответ: Непропорцональность разрешений

Graphics3D 1280,1024,32,1
SetBuffer BackBuffer()

setProporcialViewport(1280,720)

camera=CreateCamera()
PositionEntity camera,0,0,-3
;привет, nuprahtor!
CameraClsColor camera,0,0,255

cub=CreateCube()

While Not KeyDown(1)
    TurnEntity cub,0,1,0
    RenderWorld
    Flip 
Wend


Function setProporcialViewport(width%,height%)
    If Float(width)/Float(height)=Float(GraphicsWidth())/Float(GraphicsHeight()) Then Return
    vw=GraphicsWidth()
    vh=height*GraphicsHeight()/width
    Viewport 0,(GraphicsHeight()-vh) Shr 1,vw,vh
End Function
Это?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ant2on (08.03.2011)
Старый 07.01.2011, 02:25   #10
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Непропорцональность разрешений

А чо у кого то проблемы с 3D были?
__________________
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 02:42   #11
RBK
Знающий
 
Аватар для RBK
 
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений
(для 166 пользователей)
Ответ: Непропорцональность разрешений

Сообщение от SBJoker Посмотреть сообщение
А чо у кого то проблемы с 3D были?
В 3D команду Viewport нужно использовать до создания камеры, иначе она не будет работать.
Попробуйте перенести функцию setProporcialViewport(1280,720) после камеры сами увидите.
Повторю еще раз:
Если 2D используй Viewport x, y, ширина, высота
Если 3D используй CameraViewport перем, x, y, ширина, высота
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 02:50   #12
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Ответ: Непропорцональность разрешений

Сообщение от RBK Посмотреть сообщение
В 3D команду Viewport нужно использовать до создания камеры, иначе она не будет работать.
Попробуйте перенести функцию setProporcialViewport(1280,720) после камеры сами увидите.
Повторю еще раз:
Если 2D используй Viewport x, y, ширина, высота
Если 3D используй CameraViewport перем, x, y, ширина, высота
Судя по первому посту, менять viewport потом автору не понадобится, значится можно вызвать и до создания камеры.
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 03:15   #13
RBK
Знающий
 
Аватар для RBK
 
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений
(для 166 пользователей)
Ответ: Непропорцональность разрешений

Согласен. Но лично мне не нравится когда команды в коде работают через раз. Нестабильный код потом трудно отладить.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Reizel (07.01.2011)
Старый 07.01.2011, 10:52   #14
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: Непропорцональность разрешений

Что-то не пойму суть проблемы. Если у тебя размеры отрисовки круга были привязаны к разрешению экрана (что-то типа ширина=GWidth*0.1/высота=GHeight*0.15) - то да, при изменении разрешения круг растянется. Только накуя? Если круг фиксированного размера в пикселях, он будет круглым смотреться при любом разрешении. Исключение - если ты на широкоэкранном мониторе выставляешь разрешение от 4:3 и наоборот. Но это опять же изврат
з.ы. если у тебя размер круга должен оставаться одинакового размера на экране при любом разрешении - делай привязку его размера только к GHeight (то есть ширина=GHeight*0.15/высота=GHeight*0.15), тогда смена разрешения на широкоэкранное и обратно тебе не страшна
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Amatsu за это полезное сообщение:
Arles (07.01.2011), viper86 (10.01.2011)
Старый 08.03.2011, 15:13   #15
ant2on
Модератор
 
Аватар для ant2on
 
Регистрация: 05.11.2005
Сообщений: 161
Написано 63 полезных сообщений
(для 182 пользователей)
Ответ: Непропорцональность разрешений

Вот доработанная функция. Добавлены черные полоски по бокам, например, для ноутбуков.

Graphics3D 1280,800,32,2
SetBuffer BackBuffer()

setProporcialViewport(1024,768)

camera=CreateCamera()
PositionEntity camera,0,0,-3
;привет, nuprahtor!
CameraClsColor camera,0,0,255

cub=CreateCube()

While Not KeyDown(1)
    TurnEntity cub,0,1,0
    RenderWorld
    Flip 
Wend


Function setProporcialViewport(width%,height%)
    
	k# =  Float(width)/Float(height) 
	
	kr# = Float(GraphicsWidth())/Float(GraphicsHeight())
	
	If k = kr Then Return
    
	If k > kr Then 
		vw=GraphicsWidth()
		vh=vw/k
		Viewport 0,(GraphicsHeight()-vh) Shr 1,vw,vh
	Else
		vh=GraphicsHeight()
		vw=vh*k
		Viewport (GraphicsWidth()-vw) Shr 1,0,vw,vh
	EndIf
End Function
__________________
Anarki's Revenge
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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