forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   3D меню (http://forum.boolean.name/showthread.php?t=9696)

Артем Валерьевич 03.11.2009 10:09

3D меню
 
Вложений: 2
Когдато Матвей Меркулов натолкнул меня на мысль об этом.
Я тут накалякал 3D менюшку.
:)

Harter 03.11.2009 12:40

Ответ: 3D меню
 
Молодец конечно, но меня не впечатлило.
И не "Sawe", а "Save".

DeadElf 07.11.2009 22:11

Ответ: 3D меню
 
ну, они плохо тыкаются, а так ничего, интересненько)))

Nex 09.11.2009 11:04

Ответ: 3D меню
 
Можно было бы и исходники выложить...

DeadElf 09.11.2009 20:39

Ответ: 3D меню
 
SkyDream, да ладно, как будто так сложно такое же сделать)))

NitE 09.11.2009 20:46

Ответ: 3D меню
 
сделай пожалуйста, и выложи исходник, раз для тебя это раз плюнуть.

Артем Валерьевич 10.11.2009 08:40

Ответ: 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:


Артем Валерьевич 10.11.2009 08:43

Ответ: 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


Артем Валерьевич 11.11.2009 11:44

Ответ: 3D меню
 
Вложений: 1
народ, а слышали про библиотеку 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"

А вот собственно сама библа:

Petrofan 11.11.2009 14:04

Ответ: 3D меню
 
А на каком сайте ты нашел эту библиотеку? Интересно было бы посмотреть примерчик что она умеет, и что люди пишут по этому поводу.

Артем Валерьевич 11.11.2009 14:15

Ответ: 3D меню
 
Вложений: 1
непомню, но вот примерчик. Скудный довольно, но представление дает:

Артем Валерьевич 11.11.2009 14:23

Ответ: 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

я понимаю что функции идут в порядке том же в каком они были в оригинале.

JohnAustin 15.12.2009 20:34

Ответ: 3D меню
 
Меню хорошее очень подходит для RPG или стратегий. Но очень развесило надпись "Sawe" :-D

Артем Валерьевич 17.12.2009 18:35

Ответ: 3D меню
 
Вложений: 1
я недавно спрайтовое меню заделал еще, симпатишно смотрится тож:

Damp 17.12.2009 20:12

Ответ: 3D меню
 
Вложений: 1
Тоже экспериментировал на тему )
Пришел к выводу лучше делать полностью в максе и использовать имена чайлдов.
Пример чисто теоретический.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot