Показать сообщение отдельно
Старый 25.04.2010, 14:05   #1
pitonms
Знающий
 
Аватар для pitonms
 
Регистрация: 15.06.2009
Адрес: Санкт-Петербург
Сообщений: 291
Написано 36 полезных сообщений
(для 66 пользователей)
HUD для чайников

Часто видел на форумах по Blitz3D, не только на Boolean.name,но и на других такой вопрос: Как сделать GUI?
Вот ответ:

Делаем оболочку программы (для новичков вот код )
Graphics3D 800,600,32,2 
SetBuffer BackBuffer()
Repeat
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End
Заходим в Photoshop или Paint делаем рисунок 800x600px( для справки если вы написали после Graphics3D 640,480 то делайте рисунок именно под этот размер - значит 640x480px)
Делайте черную заливку и по краям линии светлые ( например )
Сохраняйте в формате .png
Заходим опять в Blitz3D, а именно в оболочку программы и пишем после
UpdateWorld
RenderWorld
Такой кусок кода:
gui=LoadImage("gui.png")
DrawImage gui,0,0
Это мы написали сейчас картинку на весь экран.
__________________________________________________ __________________________________________________ ________________
Делаем полоску жизней и простой Бот
Даю полностью код программы с коментариями:

Graphics3D 800,600,32,1 ;иницализация графики
SetBuffer BackBuffer()     

type_user=1    ;тип игрок
type_bot=4     ;тип бот
     

bot=CreateCube()  ;делаем бота
EntityColor bot,255,1,1 
PositionEntity bot,0,3,6 
ScaleEntity bot,1,2,1 
EntityType bot,type_bot 
EntityRadius bot,1.8 

Collisions type_user,type_bot,2,2 

user=CreateCube()    ;делаем игрока
PositionEntity user,0,1.5,0   
EntityType user,type_user   
EntityRadius user,1.8 

light=CreateLight()     ;свет
cam=CreateCamera()    ;камера
EntityParent cam,user    ;привязка камеры к игроку
PositionEntity cam,0,15,-20 

lvl=CreatePlane()     ;делаем плоскость
tex=LoadTexture("terasa.jpg")   
ScaleTexture tex,10,10   
EntityTexture lvl,tex    

hel=100 ;сколько жизней

      
Repeat 

hel1 = LoadImage("hel-1.jpg")  ;грузим полоски жизни !!!100%
hel2 = LoadImage("hel-2.jpg")  ;грузим полоски жизни !!!50%
hel3 = LoadImage("hel-3.jpg")  ;грузим полоски жизни !!!1%

If EntityCollided (user,type_bot) hel = hel - 1   ;когда бот и игрок сталкиваются то у игрока падают жизни

If KeyDown(200) MoveEntity user,0,0,0.08 
   If KeyDown(208) MoveEntity user,0,0,-0.08 
   If KeyDown(203) TurnEntity user,0,0.8,0   
   If KeyDown(205) TurnEntity user,0,-0.8,0 
     

UpdateWorld()      
RenderWorld()   
gui=LoadImage("gui.png")
DrawImage gui,0,0
If hel = 100   ;прорисовка полосок
DrawImage hel1,2,2 
EndIf   
If hel <= 50   
DrawImage hel2,2,2 
FreeImage(hel1) 
EndIf 
If hel < 1 
DrawImage hel3,2,2 
FreeImage(hel2) 
EndIf    

Flip    
Until KeyHit(1)    
End
Вот так мы сделали простинькую игру в которой есть игрок и бот, бот бегает всегда за игроком, а так же сделали систему жизней
__________________
Мой сайт : http://lavr-studio.ucoz.ru/
(Offline)
 
Ответить с цитированием