home *** CD-ROM | disk | FTP | other *** search
- ; INPUTEST.BB
- ; ================================================================================
- ;
- ; INITIALISATION
-
- Graphics 640, 480
- AppTitle "Basic Graphics/Input Test"
- SetBuffer BackBuffer()
-
- ; CONSTANTS
-
- Const c_ArrowFlash = 4
- Const k_NumPad8 = 72
- Const k_NumPad4 = 75
- Const k_NumPad6 = 77
-
- ; OBJECTS
-
- Global g_Dancer = LoadAnimImage("media\dancer.bmp", 220, 326, 0, 5)
- Global g_LeftArrow = LoadImage("media\leftarrow.bmp")
- Global g_RightArrow = LoadImage("media\rightarrow.bmp")
- Global g_UpArrow = LoadImage("media\uparrow.bmp")
-
- Global g_Background = LoadAnimImage("media\back_flip.bmp", 536, 261, 0, 2)
-
- Global g_DanceFloor = LoadAnimImage("media\dancefloor.bmp", 299, 81, 0, 3)
- Global v_DanceFloorStep, v_DanceCount, v_DanceFloorSpeed=15
-
- Global v_LeftArrowPressed=0, v_RightArrowPressed=0, v_UpArrowPressed=0, v_DownArrowPressed=0
- Global v_BackTimer=0
- Global v_PoseTimer=0, v_NeutralTimer=0
-
- Global s_BackgroundMusic = LoadSound ("media\bgm.wav")
-
- ; STARTING SPRITES
-
- MaskImage g_Dancer, 255, 0, 255
-
- ; CUE MUSIC
-
- LoopSound s_BackgroundMusic
-
- ; MAIN LOOP
-
- While Not KeyHit(1)
-
- ; Draw Background
- DrawImage g_Background, 50, 50, BackSetting
-
- ; Lighting
-
- If Backtimer>50 Then
- BackSetting=0
- Else
- BackSetting=1
- EndIf
-
- BackTimer=BackTimer+1
-
- If BackTimer=100 Then
- BackTimer=0
- EndIf
-
- ; DanceFloor
-
- DrawImage g_DanceFloor, 150,400, v_DanceFloorStep
-
- If v_DanceFloorCount=v_DanceFloorSpeed Then
-
- If v_DanceFloorStep=2 Then
- v_DanceFloorStep=0
- Else
- v_DanceFloorStep=v_DanceFloorStep+1
- EndIf
-
- v_DanceFloorCount=0
-
- Else
- v_DanceFloorCount=v_DanceFloorCount+1
- EndIf
-
- ; Dancer
-
- DrawImage g_Dancer, 220, 110, v_PoseSelect
-
- ; Draw Arrows
-
- If v_LeftArrowPressed>0
- DrawImage g_LeftArrow, 135, 210
- v_LeftArrowPressed=v_LeftArrowPressed-1
- Else
- DrawImage g_LeftArrow, 140, 210, 0
- EndIf
-
-
- If v_RightArrowPressed>0
- DrawImage g_RightArrow, 420, 210
- v_RightArrowPressed=v_RightArrowPressed-1
- Else
- DrawImage g_RightArrow, 415, 210, 0
- EndIf
-
-
- If v_UpArrowPressed>0
- DrawImage g_UpArrow, 257, 50
- v_UpArrowPressed=v_UpArrowPressed-1
- Else
- DrawImage g_UpArrow, 257, 55, 0
- EndIf
-
- ; INPUT
-
- If PoseTimer=0
-
- If KeyHit (k_NumPad4) And v_LeftArrowPressed=0
- v_LeftArrowPressed=c_ArrowFlash
- v_NeutralTimer=15
- v_PoseSelect=2
- EndIf
-
- If KeyHit (k_NumPad6) And v_RightArrowPressed=0
- v_RightArrowPressed=c_ArrowFlash
- v_NeutralTimer=15
- v_PoseSelect=3
- EndIf
-
- If KeyHit (k_NumPad8) And v_UpArrowPressed=0
- v_UpArrowPressed=c_ArrowFlash
- v_NeutralTimer=15
- v_PoseSelect=4
- EndIf
-
- Else
-
- EndIf
-
-
- ; Time the pose
-
- If v_PoseSelect>1 And v_NeutralTimer=0 Then
- v_PoseSelect=0
- Else If v_PoseSelect>1
- v_NeutralTimer=v_NeutralTimer-1
- EndIf
-
- ; Neutral poses
-
- If v_PoseSelect=0 Or v_PoseSelect=1
- v_NeutralTimer=v_NeutralTimer+1
- EndIf
-
- If v_PoseSelect=0 And v_NeutralTimer=30 Then
- v_NeutralTimer=0
- v_PoseSelect=1
- EndIf
-
- If v_PoseSelect=1 And v_NeutralTimer=30 Then
- v_NeutralTimer=0
- v_PoseSelect=0
- EndIf
-
- ; DISPLAY
-
- Flip
- Cls
-
- Wend
-
- End