Initial commit
This commit is contained in:
143
Sprite.pbi
Normal file
143
Sprite.pbi
Normal file
@@ -0,0 +1,143 @@
|
||||
;-Sprite
|
||||
Enumeration
|
||||
#Spr_Black
|
||||
#Spr_White
|
||||
#Spr_Cursor
|
||||
#Spr_SelectedBackground
|
||||
#Spr_DelCursor
|
||||
#Spr_BenchA
|
||||
#Spr_BenchB
|
||||
#Spr_BenchC
|
||||
#Spr_BckgrndFadeUp
|
||||
#Spr_BckgrndFadeDown
|
||||
#Spr_UD
|
||||
#Spr_LR
|
||||
#Spr_RD
|
||||
#Spr_DL
|
||||
#Spr_LU
|
||||
#Spr_UR
|
||||
#Spr_Cross
|
||||
#Spr_Locked
|
||||
#Spr_Pointer
|
||||
#Spr_Health
|
||||
#Spr_Timer
|
||||
#Spr_EarthBreak
|
||||
#Spr_Dead
|
||||
#Spr_JewelBlue
|
||||
#Spr_JewelRed
|
||||
#Spr_JewelGreen
|
||||
#Spr_Eye
|
||||
#Spr_Hammer
|
||||
#Spr_Remove
|
||||
#Spr_Gravity
|
||||
#Spr_Freeze
|
||||
#Spr_X2
|
||||
#Spr_X4
|
||||
#Spr_X8
|
||||
#Spr_Logo
|
||||
#Spr_Sc
|
||||
#Spr_Remix
|
||||
#Spr_Thy
|
||||
#Spr_Frozen
|
||||
#Spr_Vinyl
|
||||
#Spr_FontA
|
||||
#Spr_FontA_End = #Spr_FontA+90
|
||||
#Spr_FontB
|
||||
#Spr_FontB_End= #Spr_FontB+90
|
||||
#Spr_End
|
||||
EndEnumeration
|
||||
|
||||
Structure GameSprite
|
||||
SpriteId.i
|
||||
ClipX.l
|
||||
ClipY.l
|
||||
ClipWidth.l
|
||||
ClipHeight.l
|
||||
DisplayWidth.f
|
||||
DisplayHeight.f
|
||||
EndStructure
|
||||
|
||||
Global Dim GameSprite.GameSprite(#Spr_End)
|
||||
|
||||
Procedure RecordSprite(SpriteNo.l,SpriteId.i,ClipX.l,ClipY.l,ClipWidth.l,ClipHeight.l,DisplayWidth.f, DisplayHeight.f)
|
||||
GameSprite(SpriteNo)\SpriteId=SpriteId
|
||||
GameSprite(SpriteNo)\ClipX=ClipX
|
||||
GameSprite(SpriteNo)\ClipY=ClipY
|
||||
GameSprite(SpriteNo)\ClipWidth=ClipWidth
|
||||
GameSprite(SpriteNo)\ClipHeight=ClipHeight
|
||||
GameSprite(SpriteNo)\DisplayWidth=DisplayWidth
|
||||
GameSprite(SpriteNo)\DisplayHeight=DisplayHeight
|
||||
EndProcedure
|
||||
|
||||
Procedure DisplayClipSprite(SpriteNo.i,X.l,Y.l,Opacity.l=255,GameScale.f=1,BckWidth.f=-1,BckHeight.f=-1)
|
||||
|
||||
If IsSprite(GameSprite(SpriteNo)\SpriteId)
|
||||
ClipSprite(GameSprite(SpriteNo)\SpriteId,GameSprite(SpriteNo)\ClipX,GameSprite(SpriteNo)\ClipY,GameSprite(SpriteNo)\ClipWidth,GameSprite(SpriteNo)\ClipHeight)
|
||||
If BckWidth=-1
|
||||
BckWidth=GameSprite(SpriteNo)\DisplayWidth*GameScale*GUI\BlockSize
|
||||
EndIf
|
||||
If BckHeight=-1
|
||||
BckHeight=GameSprite(SpriteNo)\DisplayHeight*GameScale*GUI\BlockSize
|
||||
EndIf
|
||||
ZoomSprite(GameSprite(SpriteNo)\SpriteId,BckWidth,BckHeight)
|
||||
DisplayTransparentSprite(GameSprite(SpriteNo)\SpriteId,X,Y,Opacity)
|
||||
Else
|
||||
Debug "Error with sprite"
|
||||
EndIf
|
||||
EndProcedure
|
||||
|
||||
Procedure LoadSpriteSheet()
|
||||
Protected n.l
|
||||
|
||||
CompilerIf #UsePackFile=#True
|
||||
CatchSpriteFromPackage(0,"SpriteSheetx192.png")
|
||||
|
||||
CompilerElse
|
||||
LoadSprite(0,"Datas\SpriteSheetx192.png",#PB_Sprite_AlphaBlending)
|
||||
CompilerEndIf
|
||||
|
||||
If IsSprite(0)
|
||||
Protected SpriteSize.l=SpriteWidth(0)/10
|
||||
For n=0 To 9
|
||||
RecordSprite(#Spr_Black+n,0,n*SpriteSize,0,SpriteSize,SpriteSize,1,1)
|
||||
Next
|
||||
|
||||
|
||||
;Piepeline
|
||||
For n=0 To 7
|
||||
RecordSprite(#Spr_UD+n,0,n*SpriteSize,SpriteSize,SpriteSize,SpriteSize,1,1)
|
||||
Next
|
||||
;Pointer
|
||||
RecordSprite(#Spr_Pointer,0,8*SpriteSize,SpriteSize,SpriteSize,SpriteSize,1,1)
|
||||
|
||||
; Bonus
|
||||
For n=0 To 9
|
||||
RecordSprite(#Spr_Health+n,0,n*SpriteSize,SpriteSize*2,SpriteSize,SpriteSize,1,1)
|
||||
Next
|
||||
|
||||
For n=0 To 5
|
||||
RecordSprite(#Spr_Gravity+n,0,n*SpriteSize,SpriteSize*3,SpriteSize,SpriteSize,1,1)
|
||||
Next
|
||||
|
||||
|
||||
RecordSprite(#Spr_Logo,0,0,SpriteSize*4,SpriteSize*7,SpriteSize*2,7,2)
|
||||
RecordSprite(#Spr_Remix,0,0,SpriteSize*6,SpriteSize*4,SpriteSize,4,1)
|
||||
RecordSprite(#Spr_Thy,0,SpriteSize*7,SpriteSize*3,SpriteSize*3,SpriteSize*3,3,3)
|
||||
RecordSprite(#Spr_Frozen,0,0,SpriteSize*7,SpriteSize*8,SpriteSize,8,1)
|
||||
RecordSprite(#Spr_Sc,0,0,SpriteSize*8,SpriteSize*3,SpriteSize*2,3,2)
|
||||
RecordSprite(#Spr_Vinyl,0,SpriteSize*8,SpriteSize*6,SpriteSize*2,SpriteSize*4,2,4)
|
||||
Else
|
||||
MessageRequester("Error", "Can't Load SpriteSheet ", 0)
|
||||
End
|
||||
EndIf
|
||||
EndProcedure
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; IDE Options = PureBasic 6.00 LTS (Windows - x64)
|
||||
; CursorPosition = 117
|
||||
; FirstLine = 59
|
||||
; Folding = -
|
||||
; EnableXP
|
Reference in New Issue
Block a user