na dann poste ich mal meinen Spaghetti Code. Evtl. Wird es ersichtlich. Aber mit deiner Vermutung hast du sicherlich Recht. Denn die Schieberegler sollten eigentlich bei Start alle auf Mitte stehen und nicht so verwurstet. Das jeweils geladene Bild muss ich dann /2 anpassen, das macht erst mal Sinn.
Code: Alles auswählen
EP_InitFXLib()
UsePNGImageDecoder()
InitSprite()
ExamineDesktops()
Enumeration
#Wndw
#WndSettings
EndEnumeration
Enumeration ;/ Gadget
#Gad_OpenGL
#Gad_Editor
#Gad_ShaderSelector_Combo
#Exit_btn
#Gadget_exit
#textgadget
#Infobar_Font
#InfoText
#InfoText_Font
;Objects Button Patch
#Btn_Patch
#Btn_Patch_Frame_Left
#Btn_Patch_Frame_Right
#Btn_Patch_Frame_Top
#Btn_Patch_Frame_Bottom
;Objects Button About
#Btn_About
#Btn_About_Frame_Left
#Btn_About_Frame_Right
#Btn_About_Frame_Top
#Btn_About_Frame_Bottom
;Objects Button Exit
#Btn_Exit
#Line_Shadow
#Gadget_Line_Shadow
#Btn_Exit_Frame_Left
#Btn_Exit_Frame_Right
#Btn_Exit_Frame_Top
#Btn_Exit_Frame_Bottom
;Objects Application
#Txt_Application
#Inputfield_Application
#Inputfield_Application_Frame
;Objects Website
#Txt_Website
#Inputfield_Website
#Inputfield_Website_Frame
;Objects Cracker
#Txt_Cracker
#Inputfield_Cracker
#Inputfield_Cracker_Frame
;Objects Released On
#Txt_Released_On
#Inputfield_Released_On
#Inputfield_Released_On_Frame
;Objects Info
#Txt_Info
#Inputfield_Info
#Inputfield_Info_Frame
#Supplied
#Texture
;LADE 3D Object
#Cnt_3D_Object
#Object_3DS
#Txt_Size_3D_Obj
#TrackBar_3d_Obj_Size
#Btn_Open_3ds
;FARBE 3D OBJEKT ÄNDERN
#Cnt_Object_Colors
#Txt_Object_Colors
#Txt_RGB_1
#Txt_RGB_2
#Txt_RGB_3
#Txt_RGB_4
#TrackBar_RGB_1
#TrackBar_RGB_2
#TrackBar_RGB_3
#TrackBar_RGB_4
#Box_RGB_1
#Box_RGB_2
#Box_RGB_3
#Box_RGB_4
;BACKGROUND IMAGE
#Cnt_Background_Pic
#Txt_Background_Pic
#Btn_Background_Pic
#TxT_Background_Pic_X_Pos
#TrackBar_Back_Pic_X_Pos
#TxT_Background_ScalePic_Pos
#TrackBar_Back_ScalePic
#TxT_Background_Pic_Y_Pos
#TrackBar_Back_Pic_Y_Pos
#TxT_Background_Pic_Z_Pos
#TrackBar_Back_Pic_Z_Pos
;V2M SOUNDFILE
#Cnt_Load_V2M_Music
#Txt_Load_V2M_Music
#Btn_Open_v2m
#Chk_Bounce_Object_Z_axis
#Chk_Bounce_Object_X_axis
#Chk_Bounce_Object_Y_axis
#TxT_Volume
#TrackBar_Volume
;WIREFRAME
#Chk_Wireframe
#Chk_Solid_3dObject
EndEnumeration
Define.i Event, EventWindow, EventGadget, EventType, EventMenu
Global Mesh
Procedure.i Open_3D_Object()
File.s = OpenFileRequester("open 3DS File", "3D Object\", "3DS Object File|*.3ds|3DS Object-File (*.3ds)|*.3ds", 0)
Mesh = MP_LoadMesh(File.s)
EndProcedure
Procedure.i Center(Max, Value)
ProcedureReturn (((Max) - (Value)) / 2)
EndProcedure
; Procedure.i Open_Background_Image()
;
; File.s = OpenFileRequester("Background Image", "Image\", "Graphic File|*.png|PNG Graphic-File (*.png)|*.png", 0)
; ;Background = MP_LoadMesh(File.s)
; Background = MP_LoadSprite(File.s)
; EndProcedure
Procedure.i Wnd_Settings()
If OpenWindow(#WndSettings, 616, 293, 628, 410, "3D Object Settings", #PB_Window_ScreenCentered|#PB_Window_Invisible|#PB_Window_MinimizeGadget)
StickyWindow(#WndSettings, #True)
;:DEACTIVATE CLOSE WINDOW BUTTON [X]
DeleteMenu_(GetSystemMenu_(WindowID(#WndSettings),#False),6,#MF_BYPOSITION)
;////////////////////////////////////////////////////////////////////////
;-LOAD 3D OBJECT CONTAINER
;////////////////////////////////////////////////////////////////////////
ContainerGadget(#Cnt_3D_Object, 10, 10, 132, 228, #PB_Container_Flat)
TextGadget(#Txt_Size_3D_Obj, 10, 10, 110, 15, "adjust 3DS Object Size")
ButtonGadget(#Btn_Open_3ds, 7, 33, 115, 40, "Open 3D Object")
TrackBarGadget(#TrackBar_3d_Obj_Size, 2, 95, 125, 35, 6, 1000)
SetWindowLongPtr_(GadgetID(#TrackBar_3d_Obj_Size),#GWL_STYLE,GetWindowLongPtr_(GadgetID(#TrackBar_3d_Obj_Size),#GWL_STYLE) | #TBS_BOTH| #TBS_NOTICKS)
SetGadgetState(#TrackBar_3d_Obj_Size, 135)
CheckBoxGadget(#Chk_Wireframe, 7, 140, 114, 15, "wireframe 3D Object")
DisableGadget(#Chk_Wireframe, #True)
CheckBoxGadget(#Chk_Solid_3dObject, 7, 160, 110, 15, "solid 3D Object")
DisableGadget(#Chk_Solid_3dObject, #True)
CloseGadgetList()
;////////////////////////////////////////////////////////////////////////
;-CHANGE COLOR 3D OBJECT CONTAINER
;////////////////////////////////////////////////////////////////////////
ContainerGadget(#Cnt_Object_Colors, 150, 10, 143, 228, #PB_Container_Flat)
TextGadget(#Txt_Object_Colors, 10, 10, 143, 15, "Set Colorshade for Object")
CanvasGadget(#Txt_RGB_1, 10, 34, 30, 30)
CanvasGadget(#Txt_RGB_2, 40, 34, 30, 30)
CanvasGadget(#Txt_RGB_3, 70, 34, 30, 30)
CanvasGadget(#Txt_RGB_4, 100, 34, 30, 30)
;: RANDOM COLOR ON FIRST STARTUP
Trackbar1 = Random(16581375, 0)
TrackBarGadget(#TrackBar_RGB_1, 12, 64, 30, 160, 0, 16581375, #PB_TrackBar_Vertical)
SetGadgetState(#TrackBar_RGB_1, Trackbar1)
SetWindowLongPtr_(GadgetID(#TrackBar_RGB_1),#GWL_STYLE,GetWindowLongPtr_(GadgetID(#TrackBar_RGB_1),#GWL_STYLE) | #TBS_BOTH| #TBS_NOTICKS)
If StartDrawing(CanvasOutput(#Txt_RGB_1))
Box(0,0,30,30,GetGadgetState(#TrackBar_RGB_1))
StopDrawing()
EndIf
;: RANDOM COLOR ON FIRST STARTUP
Trackbar2 = Random(16581375, 0)
TrackBarGadget(#TrackBar_RGB_2, 42, 64, 30, 160, 0, 16581375, #PB_TrackBar_Vertical)
SetGadgetState(#TrackBar_RGB_2, Trackbar2)
SetWindowLongPtr_(GadgetID(#TrackBar_RGB_2),#GWL_STYLE,GetWindowLongPtr_(GadgetID(#TrackBar_RGB_2),#GWL_STYLE) | #TBS_BOTH| #TBS_NOTICKS)
If StartDrawing(CanvasOutput(#Txt_RGB_2))
Box(0,0,30,30,GetGadgetState(#TrackBar_RGB_2))
StopDrawing()
EndIf
;: RANDOM COLOR ON FIRST STARTUP
Trackbar3 = Random(16581375, 0)
TrackBarGadget(#TrackBar_RGB_3, 72, 64, 30, 160, 0, 16581375, #PB_TrackBar_Vertical)
SetGadgetState(#TrackBar_RGB_3, Trackbar3)
SetWindowLongPtr_(GadgetID(#TrackBar_RGB_3),#GWL_STYLE,GetWindowLongPtr_(GadgetID(#TrackBar_RGB_3),#GWL_STYLE) | #TBS_BOTH| #TBS_NOTICKS)
If StartDrawing(CanvasOutput(#Txt_RGB_3))
Box(0,0,30,30,GetGadgetState(#TrackBar_RGB_3))
StopDrawing()
EndIf
;: RANDOM COLOR ON FIRST STARTUP
Trackbar4 = Random(16581375, 0)
TrackBarGadget(#TrackBar_RGB_4, 102, 64, 30, 160, 0, 16581375, #PB_TrackBar_Vertical)
SetGadgetState(#TrackBar_RGB_4, Trackbar4)
SetWindowLongPtr_(GadgetID(#TrackBar_RGB_4),#GWL_STYLE,GetWindowLongPtr_(GadgetID(#TrackBar_RGB_4),#GWL_STYLE) | #TBS_BOTH| #TBS_NOTICKS)
If StartDrawing(CanvasOutput(#Txt_RGB_4))
Box(0,0,30,30,GetGadgetState(#TrackBar_RGB_4))
StopDrawing()
EndIf
CloseGadgetList()
;////////////////////////////////////////////////////////////////////////
;-CHANGE BACKGROUND IMAGE CONTAINER
;////////////////////////////////////////////////////////////////////////
ContainerGadget(#Cnt_Background_Pic, 301, 10, 138, 278, #PB_Container_Flat)
TextGadget(#Txt_Background_Pic, 11, 10, 111, 15, "set Background Image")
ButtonGadget(#Btn_Background_Pic, 10, 33, 115, 40, "Open Image")
DisableGadget(#Btn_Background_Pic,#True)
TextGadget(#TxT_Background_Pic_X_Pos, 11, 80, 103, 15, "Image X Position:")
TrackBarGadget(#TrackBar_Back_Pic_X_Pos, 3, 95, 125, 35, 0, 2920)
SetGadgetState(#TrackBar_Back_Pic_X_Pos, 960)
SetWindowLongPtr_(GadgetID(#TrackBar_Back_Pic_X_Pos),#GWL_STYLE,GetWindowLongPtr_(GadgetID(#TrackBar_Back_Pic_X_Pos),#GWL_STYLE) | #TBS_BOTH| #TBS_NOTICKS)
TextGadget(#TxT_Background_Pic_Y_Pos, 11, 130, 103, 15, "Image Y Position:")
TrackBarGadget(#TrackBar_Back_Pic_Y_Pos, 3, 145, 125, 35, 0, 2080)
SetGadgetState(#TrackBar_Back_Pic_Y_Pos, 250)
SetWindowLongPtr_(GadgetID(#TrackBar_Back_Pic_Y_Pos),#GWL_STYLE,GetWindowLongPtr_(GadgetID(#TrackBar_Back_Pic_Y_Pos),#GWL_STYLE) | #TBS_BOTH| #TBS_NOTICKS)
TextGadget(#TxT_Background_Pic_Z_Pos, 11, 180, 103, 15, "Image Z Position:")
TrackBarGadget(#TrackBar_Back_Pic_Z_Pos, 3, 195, 125, 35, 0, 1000)
SetGadgetState(#TrackBar_Back_Pic_Z_Pos, 500)
SetWindowLongPtr_(GadgetID(#TrackBar_Back_Pic_Z_Pos),#GWL_STYLE,GetWindowLongPtr_(GadgetID(#TrackBar_Back_Pic_Z_Pos),#GWL_STYLE) | #TBS_BOTH| #TBS_NOTICKS)
TextGadget(#TxT_Background_ScalePic_Pos, 11, 230, 103, 15, "Scale Background Image:")
TrackBarGadget(#TrackBar_Back_ScalePic, 3, 245, 125, 35, 0, 1000)
;SetGadgetState(#TrackBar_Back_ScalePic, 500)
SetWindowLongPtr_(GadgetID(#TrackBar_Back_ScalePic),#GWL_STYLE,GetWindowLongPtr_(GadgetID(#TrackBar_Back_ScalePic),#GWL_STYLE) | #TBS_BOTH| #TBS_NOTICKS)
CloseGadgetList()
;////////////////////////////////////////////////////////////////////////
;-LOAD MUSIC - V2M SOUNDFILE
;////////////////////////////////////////////////////////////////////////
ContainerGadget(#Cnt_Load_V2M_Music, 448, 10, 170, 228, #PB_Container_Flat)
TextGadget(#Txt_Load_V2M_Music, 11, 10, 140, 15, "route Soundfile to 3D Object")
ButtonGadget(#Btn_Open_v2m, 9, 33, 150, 40, "Open v2m Soundfile")
DisableGadget(#Btn_Open_v2m,#True)
CheckBoxGadget(#Chk_Bounce_Object_Z_axis, 10, 80, 147, 15, "contract Object on Z Axis")
DisableGadget(#Chk_Bounce_Object_Z_axis, #True)
CheckBoxGadget(#Chk_Bounce_Object_X_axis, 10, 100, 147, 15, "contract Object on X Axis")
CheckBoxGadget(#Chk_Bounce_Object_Y_axis, 10, 120, 140, 15, "contract Object on Y Axis")
SetGadgetState(#Chk_Bounce_Object_Y_axis, #PB_Checkbox_Checked)
;: Change Volume
TextGadget(#TxT_Volume, 11, 145, 103, 15, "Volume:")
TrackBarGadget(#TrackBar_Volume, 3, 160, 155, 35, 0, 100)
;:ToDo
SetGadgetState(#TrackBar_Volume, 30)
SetWindowLongPtr_(GadgetID(#TrackBar_Volume),#GWL_STYLE, GetWindowLongPtr_(GadgetID(#TrackBar_Volume),#GWL_STYLE) | #TBS_BOTH| #TBS_NOTICKS)
CloseGadgetList()
EndIf
HideWindow(#WndSettings,#False)
EndProcedure
If OpenWindow(#Wndw, 0, 0, 1920, 1080, "3D Object 1080p Projector - Alien5ive 2020", #PB_Window_ScreenCentered|#PB_Window_Invisible|#PB_Window_SystemMenu)
SetWindowColor(#Wndw, RGB(0,0,0))
MP_ScreenToHandle( WindowID(#Wndw))
MP_SetAntialiasing(4)
; SetActiveWindow(#Wndw)
camera=MP_CreateCamera();create cam
light=MP_CreateLight(1) ;create light
x = 1
y = 1
xw = 1920 ; DEFINE WIDTH OF THE DEMO EFFECT SCREEN HERE
yw = 1080 ; DEFINE HEIGHT OF THE DEMO EFFECT SCREEN HERE
MP_Viewport(x,y,xw,yw)
;////////////////////////////////////////////////////////////////////////
;-ROUTE V2M SOUND TO LEFT and RIGHT CHANNEL
;////////////////////////////////////////////////////////////////////////
left.f ;Set var for Left Music Channel on 3D Object
right.f ;Set var for Right Music Channel on 3D Object
;////////////////////////////////////////////////////////////////////////
; SYSTEM FONTs FOR INPUTFIELDS AND HEADLINES
;////////////////////////////////////
Font1 = LoadFont(#PB_Any, "Microsoft Sans Serif", 10, #PB_Font_HighQuality)
Font2 = LoadFont(#PB_Any, "Microsoft Sans Serif", 10, #PB_Font_HighQuality)
Font3 = LoadFont(#PB_Any, "Microsoft Sans Serif", 12, #PB_Font_HighQuality)
;=================================================================================================================
HideWindow(#Wndw,#True)
EndIf
Wnd_Settings()
Repeat
Event = WindowEvent()
EventGadget = EventGadget()
EventType = EventType()
;////////////////////////////////////////////////////////////////////////
;-ROTATE 3D OBJECTS
;////////////////////////////////////////////////////////////////////////
;x1 -0.2 ;turn radial to right
;y1 + 0.0 ;turn on its own axis
;z1 - 0.0 ;turn radial to left
MP_GetMainVUV2M(@left, @right) ;stick Object to Music
;////////////////////////////////////////////////////////////////////////
;-SIZE 3D OBJECT
;////////////////////////////////////////////////////////////////////////
MP_PositionEntity (Mesh,0,0,GetGadgetState(#TrackBar_3d_Obj_Size)) ;POSITION QUBS, last number makes the size and Z Index of QUBS
;////////////////////////////////////////////////////////////////////////
;-CONTRACT 3D OBJECT on X AXIS
;////////////////////////////////////////////////////////////////////////
; ; ; ; If SetGadgetState(#Chk_Bounce_Object_X_axis, #PB_Checkbox_Checked)
; ; ; ; MP_ScaleEntity (Mesh, 0.1+left*5, 1, 1) ;wobble QUBS to music
; ; ; ; EndIf
; ; ; ; If SetGadgetState(#Chk_Bounce_Object_Z_axis, #PB_Checkbox_Checked)
; ; ; ; SetGadgetState(#Chk_Bounce_Object_X_axis, #PB_Checkbox_Unchecked)
; ; ; ; MP_ScaleEntity (Mesh, 1, 1, 0.1+left*5) ;wobble QUBS to music
; ; ; ; EndIf
; EndIf
; If GetGadgetState(#Chk_Bounce_Object_X_axis)
; SetGadgetState(#Chk_Bounce_Object_X_axis, #PB_Checkbox_Unchecked)
; SetGadgetState(#Chk_Bounce_Object_Z_axis, #PB_Checkbox_Checked)
; MP_ScaleEntity (Mesh, 1, 1, 0.1+left*5) ;wobble QUBS to music
;
; EndIf
; MP_ScaleEntity (Mesh,1,1,0.1+left*5) ;wobble QUBS to music
MP_TurnEntity (Mesh,0.3,0.9,0.3) ;spinning speed --> turn up, turn left, spin to left
;////////////////////////////////////
;-ROTATE 3D OBJECT over the whole screen
;////////////////////////////////////
; MOVE 3D OBJECT OVER THE SCREEN
; X_Add.f - 1
; Cam_SX.f = Sin((X_Add.f * #PI / 180)) * 0.9
; MP_MoveEntity (camera, Cam_SX , 0, 0)
; s.f +0.52
; MP_MoveEntity (Mesh,Cos(s),Sin(s),0);Move-Positions QUBS Object in x,y,z order
;////////////////////////////////////
MP_RenderWorld()
MP_Flip ()
;////////////////////////////////////////////////////////////////////////
;:
;: BUTTON LOAD 3DS OBJECT
;:
;////////////////////////////////////////////////////////////////////////
If EventGadget = #Btn_Open_3ds
MP_FreeEntity(Mesh)
File.s = OpenFileRequester("open 3DS File", "3D\", "3DS Object File|*.3ds|3DS Object-File (*.3ds)|*.3ds", 0)
;OpenWindow(#WndSettings, 616, 293, 628, 410, "3D Object Settings", #PB_Window_ScreenCentered|#PB_Window_Invisible)
Mesh = MP_LoadMesh(File.s)
;Mesh=MP_LoadMesh(File.s)
DisableGadget(#Chk_Solid_3dObject, #False)
DisableGadget(#Btn_Background_Pic, #False)
DisableGadget(#Btn_Open_v2m, #False)
HideWindow(#Wndw, #False)
SetGadgetState(#Chk_Wireframe, #PB_Checkbox_Checked)
DisableGadget(#Chk_Wireframe, #True)
MP_Wireframe(1) ; 1 = Wireframe
ResizeWindow(#WndSettings, 1920, 293, 628, 410 )
SetGadgetState(#Chk_Bounce_Object_Y_axis, #PB_Checkbox_Checked)
EndIf
;////////////////////////////////////////////////////////////////////////
;-LOAD AND PLAY V2M Sound
;////////////////////////////////////////////////////////////////////////
If EventGadget = #Btn_Open_v2m
MP_StopV2M(0) ;Stoppen
MP_FreeV2M() ;Player freigeben
V2M$ = OpenFileRequester("open v2m Music File", "sound\", "V2M SOUND File|*.v2m|V2M Sound-File (*.v2m)|*.v2m", 0)
MP_LoadV2M(V2M$)
MP_SetVolumeV2M(0.1)
MP_PlayV2M(0) ;0 START SOUND FROM THE BEGINNING
DisableGadget(#Chk_Bounce_Object_Z_axis, #False)
EndIf
;////////////////////////////////////////////////////////////////////////
;:
;: LOOP FUNCTION V2M SOUND
;:
;////////////////////////////////////////////////////////////////////////
If MP_IsPlayingV2M()
IsPlaying=1 ; CHECK IF SONG IS PLAYING
Else
EndOfTrackReached=1 ;IF SONG REACHED ITS END
;RESTART PLAYBACK
;Delay(1000) ; WAIT 1000 ms. AND START OVER FROM THE BEGINNING
MP_PlayV2M(0) ; 0 STARTs SONG At THE BEGINNING
EndIf
;////////////////////////////////////////////////////////////////////////
;- DISPLAY BACKGROUND PICTURE
;////////////////////////////////////////////////////////////////////////
MP_DrawSprite(Background, GetGadgetState(#TrackBar_Back_Pic_X_Pos)-WindowWidth(#Wndw)/2, GetGadgetState(#TrackBar_Back_Pic_Y_Pos)-WindowHeight(#Wndw)/2)
;;MP_DrawSprite(Background, GetGadgetState(#TrackBar_Back_Pic_X_Pos)-WindowWidth(#Wndw)/2, GetGadgetState(#TrackBar_Back_Pic_Y_Pos)-WindowHeight(#Wndw)+540)
; x+10
;:Z-INDEX
MP_SpriteSetZ(Background, GetGadgetState(#TrackBar_Back_Pic_Z_Pos))
;////////////////////////////////////////////////////////////////////////
;create Color for Wireframe and Solid Object
;////////////////////////////////////////////////////////////////////////
If CreateImage(#Texture, 30, 5)
MP_CreateImageColored(#Texture,0,GetGadgetState(#TrackBar_RGB_1),GetGadgetState(#TrackBar_RGB_2),GetGadgetState(#TrackBar_RGB_3),GetGadgetState(#TrackBar_RGB_4))
MP_EntitySetTexture (Mesh, MP_ImageToTexture(#Texture))
FreeImage(#Texture)
EndIf
Select EventGadget
;: LOAD BACKGROUND IMAGE
Case #Btn_Background_Pic
Image.s = OpenFileRequester("Background Image", "gfx\", "Graphic File|*.png|PNG Graphic-File (*.png)|*.png", 0)
Background = MP_LoadSprite(Image.s)
; MP_SpriteGetCenterX(Background)
; MP_SpriteGetCenterY(Background)
; Debug MP_SpriteGetCenterX(Background)
; MP_SpriteSetCenterX(Background, WindowWidth(#Wndw)/2)
; MP_SpriteSetCenterY(Background, WindowHeight(#Wndw)/2)
;:SOLID 3D OBJECT
Case #Chk_Solid_3dObject
SetGadgetState(#Chk_Wireframe, #PB_Checkbox_Unchecked)
SetGadgetState(#Chk_Solid_3dObject, #PB_Checkbox_Checked)
MP_Wireframe(0) ; 0 = kein wireframe
DisableGadget(#Chk_Solid_3dObject, #True)
DisableGadget(#Chk_Wireframe, #False)
;:WIREFRAME 3D OBJECT
Case #Chk_Wireframe
SetGadgetState(#Chk_Solid_3dObject, #PB_Checkbox_Unchecked)
SetGadgetState(#Chk_Wireframe, #PB_Checkbox_Checked)
MP_Wireframe(1) ; 1 = Wireframe
DisableGadget(#Chk_Wireframe, #True)
DisableGadget(#Chk_Solid_3dObject, #False)
;:CHANGE COLORS OF 3D OBJECT
Case #TrackBar_RGB_1
If StartDrawing(CanvasOutput(#Txt_RGB_1))
Box(0,0,30,30,GetGadgetState(#TrackBar_RGB_1))
StopDrawing()
EndIf
Case #TrackBar_RGB_2
If StartDrawing(CanvasOutput(#Txt_RGB_2))
Box(0,0,30,30,GetGadgetState(#TrackBar_RGB_2))
StopDrawing()
EndIf
Case #TrackBar_RGB_3
If StartDrawing(CanvasOutput(#Txt_RGB_3))
Box(0,0,30,30,GetGadgetState(#TrackBar_RGB_3))
StopDrawing()
EndIf
Case #TrackBar_RGB_4
If StartDrawing(CanvasOutput(#Txt_RGB_4))
Box(0,0,30,30,GetGadgetState(#TrackBar_RGB_4))
StopDrawing()
EndIf
Case #TrackBar_Back_ScalePic
;MP_ScaleSprite(Background, GetGadgetState(#TrackBar_Back_ScalePic), GetGadgetState(#TrackBar_Back_ScalePic))
; MP_SpriteSetCenterX(Background, WindowWidth(#Wndw)/2)
; MP_SpriteSetCenterY(Background, WindowHeight(#Wndw)/2)
MP_ScaleSprite(Background, GetGadgetState(#TrackBar_Back_ScalePic)+1, GetGadgetState(#TrackBar_Back_ScalePic)+1)
; MP_ScaleSprite(Background, GetGadgetState(#TrackBar_Back_ScalePic)+1, GetGadgetState(#TrackBar_Back_ScalePic)+1)
; MP_ScaleSprite(Background, GetGadgetState(#TrackBar_Back_ScalePic)-WindowWidth(#Wndw)+1, GetGadgetState(#TrackBar_Back_ScalePic)-WindowHeight(#Wndw)+540)
; MP_ScaleSprite(Background, GetGadgetState(#TrackBar_Back_ScalePic_Pos)+100+x, GetGadgetState(#TrackBar_Back_ScalePic_Pos)+100+x)
; x+1
Case #TrackBar_Volume
If EventGadget = #TrackBar_Volume ;Change Volume.
MP_SetVolumeV2M(GetGadgetState(#TrackBar_Volume)/100)
EndIf
EndSelect
;: todo
MP_ScaleEntity (Mesh, 1, 1, 0.1+left*5) ;wobble QUBS to music
; If EventGadget = #Chk_Bounce_Object_Z_axis
; If GetGadgetState(EventGadget) = #PB_Checkbox_Checked
; SetGadgetState(#Chk_Bounce_Object_X_axis, #PB_Checkbox_Unchecked)
; MP_ScaleEntity (Mesh, 1, 1, 0.1+left*5) ;wobble QUBS to music
; EndIf
; EndIf
If EventGadget = #Chk_Bounce_Object_Z_axis
SetGadgetState(#Chk_Bounce_Object_Z_axis, #PB_Checkbox_Checked)
SetGadgetState(#Chk_Bounce_Object_X_axis, #PB_Checkbox_Unchecked)
SetGadgetState(#Chk_Bounce_Object_Y_axis, #PB_Checkbox_Unchecked)
MP_ScaleEntity (Mesh, 1, 1, 0.1+left*5) ;wobble QUBS to music
EndIf
If EventGadget = #Chk_Bounce_Object_X_axis
SetGadgetState(#Chk_Bounce_Object_X_axis, #PB_Checkbox_Checked)
SetGadgetState(#Chk_Bounce_Object_Z_axis, #PB_Checkbox_Unchecked)
SetGadgetState(#Chk_Bounce_Object_Y_axis, #PB_Checkbox_Unchecked)
MP_ScaleEntity (Mesh, 0.1+left*5, 1, 1) ;wobble QUBS to music
EndIf
If EventGadget = #Chk_Bounce_Object_Y_axis
SetGadgetState(#Chk_Bounce_Object_Y_axis, #PB_Checkbox_Checked)
SetGadgetState(#Chk_Bounce_Object_Z_axis, #PB_Checkbox_Unchecked)
SetGadgetState(#Chk_Bounce_Object_X_axis, #PB_Checkbox_Unchecked)
MP_ScaleEntity (Mesh, 1, 0.1+left*5, 1) ;wobble QUBS to music
EndIf
;////////////////////////////////////////////////////////////////////////
;
;ESC-KEY END PROGRAM
;
;////////////////////////////////////////////////////////////////////////
If GetAsyncKeyState_(#VK_ESCAPE)
End
EndIf
Until Event = #PB_Event_CloseWindow : End
; IDE Options = PureBasic 5.73 LTS (Windows - x86)
; CursorPosition = 254
; FirstLine = 136
; Folding = V-
; EnableXP
; Executable = 3D-Animator.exe
; SubSystem = dx9
; CompileSourceDirectory