|
3D-программирование Вопросы, касающиеся программирования 3D мира |
03.11.2009, 10:09
|
#1
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
3D меню
Когдато Матвей Меркулов натолкнул меня на мысль об этом.
Я тут накалякал 3D менюшку.
|
(Offline)
|
|
03.11.2009, 12:40
|
#2
|
Бывалый
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений (для 2,520 пользователей)
|
Ответ: 3D меню
Молодец конечно, но меня не впечатлило.
И не "Sawe", а "Save".
|
(Offline)
|
|
07.11.2009, 22:11
|
#3
|
ПроЭктировщик
Регистрация: 22.07.2009
Адрес: Московский Метрополитен)))
Сообщений: 100
Написано 25 полезных сообщений (для 31 пользователей)
|
Ответ: 3D меню
ну, они плохо тыкаются, а так ничего, интересненько)))
|
(Offline)
|
|
09.11.2009, 11:04
|
#4
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: 3D меню
Можно было бы и исходники выложить...
|
(Offline)
|
|
09.11.2009, 20:39
|
#5
|
ПроЭктировщик
Регистрация: 22.07.2009
Адрес: Московский Метрополитен)))
Сообщений: 100
Написано 25 полезных сообщений (для 31 пользователей)
|
Ответ: 3D меню
SkyDream, да ладно, как будто так сложно такое же сделать)))
|
(Offline)
|
|
09.11.2009, 20:46
|
#6
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: 3D меню
сделай пожалуйста, и выложи исходник, раз для тебя это раз плюнуть.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо NitE за это полезное сообщение:
|
|
10.11.2009, 08:40
|
#7
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: 3D меню
Ловите с исходником, мне не жалко:
к архиву 3D_MENU:
Graphics3D 640,480,32,2
SetBuffer BackBuffer()
HidePointer()
tex=LoadSprite( "fon.jpg")
ScaleSprite tex,2,1.5
Cur=LoadImage("cur.png")
Cam=CreateCamera()
PositionEntity Cam,0,0,-2
Light=CreateLight()
PositionEntity Light,0,90,-1
fntArial=LoadFont("Arial",32,False,True,False)
SetFont fntArial
Pivot=CreatePivot()
PositionEntity Pivot,0,-.3,0
Helm=LoadMesh("Helm.x",Pivot)
ScaleEntity Helm,5,5,5
EntityShininess Helm,5
EntityPickMode Helm, 2
NameEntity Helm, "Helm"
PositionEntity Helm,0,.1,-.2
RotateEntity Helm,-20,0,0
KKK=LoadMesh("KKK.x",Pivot)
ScaleEntity KKK,5,5,5
EntityShininess KKK,5
EntityPickMode KKK, 2
NameEntity KKK, "KKK"
xit=LoadMesh("Exit.x",Pivot)
ScaleEntity xit,5,5,5
EntityShininess xit,5
EntityPickMode xit, 2
NameEntity xit, "xit"
load=LoadMesh("Load.x",Pivot)
ScaleEntity load,5,5,5
EntityShininess load,5
EntityPickMode load, 2
NameEntity load, "load"
sawe=LoadMesh("Sawe.x",Pivot)
ScaleEntity sawe,5,5,5
EntityShininess sawe,5
EntityPickMode sawe, 2
NameEntity sawe, "sawe"
While Not KeyDown( 1 )
;TurnEntity Pivot,Rand(1,-1),Rand(1,-1),.5
TurnEntity Light ,Rand(1,-1),Rand(0),Rand(-1,1)
If MouseDown(1); = True
ent= CameraPick(Cam,MouseX(),MouseY())
;If ent <> 0
If ent = KKK Then
Goto game
;EndIf
EndIf
If ent <> 0
If ent = xit Then
End
EndIf
EndIf
If ent <> 0
If ent = load Then
Text 400,300,"Load",True,False
EndIf
EndIf
If ent <> 0
If ent = sawe Then
Text 400,300,"Sawe",True,False
EndIf
EndIf
Flip()
EndIf
UpdateWorld
RenderWorld
;Text 320,50,"TESEY",True,False
DrawImage Cur,MouseX(),MouseY()
Flip()
Wend
End
.game:
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Артем Валерьевич за это полезное сообщение:
|
Nex (10.11.2009), NitE (10.11.2009)
|
10.11.2009, 08:43
|
#8
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: 3D меню
к архиву Menu_M:
.Init_Menu
setupscreen ()
Global GraphicsWidth
Global GraphicsHeight
Global GraphicsByte
Global WinType
Global curText$
Global destText$
Global numSimbol%, maxSimbols%
Global cam = CreateCamera()
PositionEntity cam,0,0,-5
CameraRange cam,.1,400
Pivot=CreatePivot(cam)
PositionEntity Pivot,0,0,2
menu=LoadAnimMesh("res\menu1.b3d",Pivot)
selector=FindChild ( menu,"selector")
run=FindChild ( menu,"run")
EntityPickMode run, 2
cred=FindChild ( menu,"cred")
EntityPickMode cred, 2
options=FindChild ( menu,"options")
EntityPickMode options, 2
ext=FindChild ( menu,"exit")
EntityPickMode ext, 2
ExtractAnimSeq( menu,0,10,press_run)
ExtractAnimSeq( menu,10,20,nopress_run)
ExtractAnimSeq( menu,20,30,press_cred)
ExtractAnimSeq( menu,30,40,nopress_cred)
ExtractAnimSeq( menu,40,50,press_opt)
ExtractAnimSeq( menu,50,60,nopress_opt)
ExtractAnimSeq( menu,60,70,press_ext)
ExtractAnimSeq( menu,70,80,nopress_ext)
ExtractAnimSeq( menu,0,1,pokoy)
For i=1 To CountChildren(menu)
child = GetChild(menu,i)
EntityFX child,1
;EntityPickMode( child, 2 )
EntityShininess child,100
Next
.Update_Menu
;While KeyDown(1)=0
While Not KeyDown(1)
Animate menu,3,5,8,6
;EntityAlpha selector,0
ent= CameraPick(Cam,MouseX(),MouseY())
If ent <> 0
If ent = run Then
EntityAlpha selector,1
Animate menu,3,5,2
EndIf
EndIf
If ent <> 0
If ent = ext Then
EntityAlpha selector,1
Animate menu,3,5,7
;End
EndIf
EndIf
If ent <> 0
If ent = cred Then
EntityAlpha selector,1
Animate menu,3,5,3
EndIf
EndIf
If ent <> 0
If ent = options Then
EntityAlpha selector,1
Animate menu,3,5,5
EndIf
EndIf
Flip()
;EndIf
UpdateWorld()
RenderWorld()
.RUN
Flip (1)
Wend
.game:
.Functions
Function setupscreen ()
filein = ReadFile("setup.ini")
GraphicsWidth=ReadLine( filein )
GraphicsHeight=ReadLine( filein )
GraphicsByte=ReadLine( filein )
WinType=ReadLine( filein )
CloseFile( filein )
Graphics3D GraphicsWidth,GraphicsHeight,GraphicsByte,WinType
SetBuffer BackBuffer()
End Function
Function Mouse_point ()
Local x=MouseX()
Local y=MouseY()
;HidePointer()
;SetFont font2
;===================================================================================
;
If x>271 And y>209 ;
If x<321 And y<259 ;
Rect 271,209,52,52,0:Text 334,233,"<run",False,True ;run ;
EndIf ;
EndIf ;- <Button RUN>
;
;If ImageRectCollide (cur,MouseX(),MouseY(),0,271,209,52,52) ;
;Text 400,0,"run!",True,False ;: Goto RUN ;
;EndIf ;
;
;===================================================================================
;===================================================================================
;
If x>271 And y>274 ;
If x<321 And y<324 ;
Rect 270,274,52,52,0 :Text 334,297,"<settings",False,True ;
EndIf ;
EndIf ;- <Button SETTINGS>
;
;If ImageRectCollide (cur,MouseX(),MouseY(),0,271,274,52,52) ;
;Text 400,0,"settings!",True,False ;
;EndIf ;
;
;===================================================================================
;===================================================================================
;
If x>271 And y>339 ;
If x<321 And y<390 ;
Rect 270,339,52,52,0 :Text 334,360,"<exit",False,True;ext ;
EndIf ;
EndIf ;- <Button EXIT>
;
;If ImageRectCollide (cur,MouseX(),MouseY(),0,271,339,52,52) ;
;Text 400,0,"exit!",True,False ;
;EndIf ;
;
;===================================================================================
End Function
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Артем Валерьевич за это полезное сообщение:
|
Nex (10.11.2009), NitE (10.11.2009)
|
11.11.2009, 11:44
|
#9
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: 3D меню
народ, а слышали про библиотеку blitzflash.dll
При помощи ее можно флешменю делать.
Я вот только не разобрался до конца в ней. Потому что буржуи выложили только екзешнег и саму длл. пробовал написать декаль. Вот что у меня получилось:
.lib "blitzflash.dll"
BlitzflashBackFlash%(Int1%,Int2%):"BackFlash"
BlitzflashCutFlashColor%(Int1%,Int2%,Int3%):"CutFlashColor"
BlitzflashForwardFlash%(Int1%):"ForwardFlash"
BlitzflashGetClipboard%():"GetClipboard"
BlitzflashGetFlashFrame%(Int1%):"GetFlashFrame"
BlitzflashGetFlashPlaying%(Int1%):"GetFlashPlaying"
BlitzflashGetFlashVar%(Int1%,Int2%):"GetFlashVar"
BlitzflashGetFlashVersion%(Int1%):"GetFlashVersion"
BlitzflashGetTotalFrames%(Int1%):"GetTotalFrames"
BlitzflashGotoFrameFlash%(Int1%):"GotoFrameFlash"
BlitzflashHideFlash%(Int1%):"HideFlash"
BlitzflashInitFlashPlugin%():"InitFlashPlugin"
BlitzflashMoveWin%(Int1%,Int2%):"MoveWin"
BlitzflashOpenFlash%(Int1%):"OpenFlash"
BlitzflashPlayFlash%(Int1%):"PlayFlash"
BlitzflashPositionFlash%(Int1%,Int2%):"PositionFlash"
BlitzflashRewindFlash%(Int1%,Int2%):"RewindFlash"
BlitzflashSetClipboard%(Int1%):"SetClipboard"
BlitzflashSetFlashVar%(Int1%):"SetFlashVar"
BlitzflashShowFlash%(Int1%):"ShowFlash"
BlitzflashStopFlash%(Int1%):"StopFlash"
BlitzflashTerminateFlash%(Int1%):"TerminateFlash"
BlitzflashTerminateFlashPlugin%(Int1%):"TerminateFlashPlugin"
BlitzflashUpdateFlash%(Int1%):"UpdateFlash"
А вот собственно сама библа:
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.11.2009, 14:04
|
#10
|
ПроЭктировщик
Регистрация: 26.08.2008
Сообщений: 149
Написано 10 полезных сообщений (для 18 пользователей)
|
Ответ: 3D меню
А на каком сайте ты нашел эту библиотеку? Интересно было бы посмотреть примерчик что она умеет, и что люди пишут по этому поводу.
|
(Offline)
|
|
11.11.2009, 14:15
|
#11
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: 3D меню
непомню, но вот примерчик. Скудный довольно, но представление дает:
|
(Offline)
|
|
11.11.2009, 14:23
|
#12
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: 3D меню
Вот ссылка на сайт, http://www.blitzbasic.com/Community/...hp?topic=51053
и еще http://www.f-in-box.com/dll/
а вот какой код выдала Блицхак:
-->Functions [20]
cutflashcolor 12bfa1
initflashplugin 12bfb5
openflash 12bfcb
positionflash 12bfdb
setclipboard 12bfef
setflashvar 12c002
terminateflashplugin 12c014
graphics3d 12c08b
backbuffer 12c09c
setbuffer 12c0ad
createcamera 12c0bd
createlight 12c0d0
createcone 12c0e2
positionentity 12c0f3
turnentity 12c178
updateworld 12c189
renderworld 12c19b
flip 12c1ad
keydown 12c1b8
end 12c1f0
-->Types [0]
-->Globals [2]
x 12c03c
y 12c044
-->Arrays [0]
-->Labels [1]
ends 12c031
я понимаю что функции идут в порядке том же в каком они были в оригинале.
|
(Offline)
|
|
15.12.2009, 20:34
|
#13
|
Оператор ЭВМ
Регистрация: 25.09.2009
Адрес: Россия, Пермский край, г.Березники
Сообщений: 20
Написано одно полезное сообщение
|
Ответ: 3D меню
Меню хорошее очень подходит для RPG или стратегий. Но очень развесило надпись "Sawe"
|
(Offline)
|
|
17.12.2009, 18:35
|
#14
|
Бывалый
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений (для 1,079 пользователей)
|
Ответ: 3D меню
я недавно спрайтовое меню заделал еще, симпатишно смотрится тож:
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.12.2009, 20:12
|
#15
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Ответ: 3D меню
Тоже экспериментировал на тему )
Пришел к выводу лучше делать полностью в максе и использовать имена чайлдов.
Пример чисто теоретический.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:17.
|