Здравствуйте, доброго времени суток, хочу вам написать несколько уроков по Blitz3D, пока пишу только этот. В этом уроке я наючу вас делать простенькое меню для игры, в будущем это вам может пригодится.
Начнем с того, что вверху кода самой игры поставим название, для последующего перехода к игре.
.game ;название кода игры
далее идет сам код...
Начало как обычно:
Graphics3D 800,600,32,1
SetBuffer BackBuffer()
Теперь загружаем шрифт. Сделать это можно двумя способами:
1) загрузка шрифта из системы. Global fntArial,fntArialB,fntArialI
fntArial=LoadFont("Arial",54,True,True,False)
fntArialB=LoadFont("Arial",34,True,True,False)
fntArialI=LoadFont("Arial",34,True,False,False)
2) SetFont(LoadFont("Arial.ttf",22)) - это загрузка шрифта из папки с игрой.
(смотрите, если использовать первый пример, то если вы уже сделаете игру и поставите редкий, ну который понравился вам шрифт и его не будет например на другом компе то естественно меню там и не будет, со вторым вопросов нет, смотрите сами)
Теперь идёт цикл игры:
Repeat
Очищаем экран:
Cls
Читаем координаты мышью:
(для мишки понадобится)
mx=MouseX()
my=MouseY()
Заголовок игры:
SetFont fntArial ;шрифт
Color 120,120,0 ;цвет теста RGB
Text 300,27,"Название игры" ;положение шрифта по осям x,y и текст
По тому же принципу текст кнопок:
SetFont fntArialB
Color 0,255,0
Text 330,207,"Новая игра"
SetFont fntArialB
Color 0,255,0
Text 370,257,"Выход"
Курсор для мыши:
SetFont fntArialI
Color 60,60,120
Text mx,my,"[*]" ;между кавычками можно ввести любые знаки, которые в последствии будут
являться курсором
Дальше:
If MouseX()>290 And MouseX()<490 And MouseY()>190 And MouseY()<230
SetFont fntArialB
Color 255,0,0
Text 330,207,"Новая игра" ;если мышь оказывается в этих координатах, то высвечивается текст "Новая игра"
EndIf
Условия нажатия левой кнопки мыши на текст:
If MouseX()>290 And MouseX()<490 And MouseY()>190 And MouseY()<230 And MouseDown(1)
Goto game ;переход к игре
EndIf
По тому же принципу кнопка "Выход":
If MouseX()>320 And MouseX()<430 And MouseY()>240 And MouseY()<280
SetFont fntArialB
Color 255,0,0
Text 370,257,"Выход"
EndIf
If MouseX()>320 And MouseX()<430 And MouseY()>240 And MouseY()<280 And MouseDown(1)
End ; выход из программы
EndIf
Стандартное завершение:
UpdateWorld
RenderWorld
Flip
Until KeyDown(1) ;при нажатии клавиши Escape выходим в систему
End
Вот по такому принципу, можно сделать меню.