Мой сайт
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Категории раздела
Blitz3D [5]
Много примеров и статей по работе с Blitz3D
BlitzPlus [0]
DarckBasic [0]
3D GameStudio [0]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » 3D Движки » Blitz3D

Выбор Режима Экрана!!!
Если вы играете в игрушки, то должны были видеть в её опциях настройка экрана (выбор разрешения и глубины цвета). Это обычная опция для каждой игрушки. Вот и мы с вами сделаем эту опцию для нашей игры.

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

Function SetGraphicsMode() ; Наша с вами функция
Repeat ; Это начало цикла
;Это первый пункт меню. При наведении на него курсора пункт меняет цвет на красный (активный)
If MouseX()>200 And MouseX()<350 And MouseY()>300 And MouseY()<320
Color 255,0,0
Text 200,300,"640 x 480 x 32"
If MouseHit(1) Then mode=1 ; Если нажали на левую кнопку мыши, то в переменную mode ;сохраняем значение соответствующего номера пункта меню.
Else
Color 255,255,255
Text 200,300,"640 x 480 x 32"
EndIf
;Второй пункт меню
If MouseX()>200 And MouseX()<350 And MouseY()>320 And MouseY()<340
Color 255,0,0
Text 200,320,"800 x 600 x 32"
If MouseHit(2) Then mode=2
Else
Color 255,255,255
Text 200,320,"800 x 600 x 32"
EndIf
;Третий пункт меню
If MouseX()>200 And MouseX()<350 And MouseY()>340 And MouseY()<360
Color 255,0,0
Text 200,340,"1024 x 768 x 32"
If MouseHit(3) Then mode=3
Else
Color 255,255,255
Text 200,340,"1024 x 768 x 32"
EndIf
Flip
Until mode>0 ; Выходим из цикла если выбрали хоть один пункт меню
EndGraphics ; Завершаем изначальный графический режим см. первую строку полного примера программы.
Ну а здесь инициализируем графический режим выбранный нами.
If mode=1
Graphics3D 640,480,32,1
SetBuffer BackBuffer()
ElseIf mode=2
Graphics3D 800,600,32,1
SetBuffer BackBuffer()
ElseIf mode=3
Graphics3D 1024,768,32,1
SetBuffer BackBuffer()
EndIf
End Function


Вот и всё. Всё просто. Вы можете вставить в функцию свои режимы, как вам угодно. Функцию необходимо вызывать до главного цикла.

Пример:

Graphics 640,480
font=LoadFont("Blitz",14,True)
SetFont font
Global mode=0
SetGraphicsMode()
camera=CreateCamera()
cube=CreateCube()
light=CreateLight()
PositionEntity cube,0,0,5
While Not KeyDown(1)
TurnEntity cube,1,0,1
RenderWorld
UpdateWorld
Flip
Wend
Function SetGraphicsMode()
Repeat
If MouseX()>200 And MouseX()<350 And MouseY()>300 And MouseY()<320
Color 255,0,0
Text 200,300,"640 x 480 x 32"
If MouseHit(1) Then mode=1
Else
Color 255,255,255
Text 200,300,"640 x 480 x 32"
EndIf

If MouseX()>200 And MouseX()<350 And MouseY()>320 And MouseY()<340
Color 255,0,0
Text 200,320,"800 x 600 x 32"
If MouseHit(2) Then mode=2
Else
Color 255,255,255
Text 200,320,"800 x 600 x 32"
EndIf

If MouseX()>200 And MouseX()<350 And MouseY()>340 And MouseY()<360
Color 255,0,0
Text 200,340,"1024 x 768 x 32"
If MouseHit(3) Then mode=3
Else
Color 255,255,255
Text 200,340,"1024 x 768 x 32"
EndIf
Flip
Until mode>0
EndGraphics
If mode=1
Graphics3D 640,480,32,1
SetBuffer BackBuffer()
ElseIf mode=2
Graphics3D 800,600,32,1
SetBuffer BackBuffer()
ElseIf mode=3
Graphics3D 1024,768,32,1
SetBuffer BackBuffer()
EndIf
End Function


Источник: http://x3dgames.net.ru
Категория: Blitz3D | Добавил: maxturbo (21.05.2010) | Автор: Miha E
Просмотров: 645 | Комментарии: 1 | Теги: выбор экрана, режим, Режим экрана, экран | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Corporation MaxTurbo Ltd © 2024