Code archives/Graphics/Xilvan Design's Sprite Lib
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
Hi everybody, Since 2010, found in Candy World Adventures IV, the SprMesh.b3d file is required to launch this Spritelib. With 2D sprites this Libs will enchant you! It can do high-definition, big, animate, and show as many sprites as you want. Since the beguining, it was full free! Friendly, Alex. L., Xilvan Design | |||||
Const Max_Spr = 16384 Global iSprite_ = -1 Dim Sprite_(Max_Spr) Dim Sprite_Tex_(Max_Spr) Dim Sprite_(Max_Spr) Dim Sprite_Blend_(Max_Spr) Dim Sprite_piv(Max_Spr) Dim Sprite_Order_(Max_Spr) Dim Spr_x#(Max_Spr) Dim Spr_y#(Max_Spr) Dim Spr_Angle(Max_Spr) Dim Spr_Dir(Max_Spr) Dim Spr_dx(Max_Spr) Dim Spr_t(Max_Spr) Dim Spr_tx#(Max_Spr) Dim Spr_ty#(Max_Spr) Dim Spr_bAnim(Max_Spr) Dim Spr_Path$(Max_Spr) Dim Spr_face(Max_Spr) Dim Tex_Filter#(Max_Spr) Dim Sprite_a#(Max_Spr) Dim Spr_(Max_Spr) Global Sprite2_ Global BaseTuiles_ Global SprPack = LoadMesh("Data\SprMesh.b3d") Global Path$ Global iil# iil# = 1.57657 Const Max_P_ = 2600 Dim P_(Max_P_) Global iPart_ = 0 Global dimResize# = 640.0/Float(gx) P_(0) = LoadAnimImage_("Images\Tuiles\Blank.bmp",32,32,0,1,11) For i = 1 To Max_P_ - 1 P_(i) = CopyEntity_(P_(0)) PositionEntity Sprite_(P_(i)),-2048,-2048,1.01 HideEntity Sprite_(P_(i)) Next HideEntity Sprite_(P_(0)) Function LoadAnimImage_(Sprite$,tttx#,ttty#,dx,taille,flag_=1,texture_=0) iSprite_ = iSprite_ + 1 Path$ = Sprite$ Sprite_(iSprite_) = CopyMesh(SprPack) Spr_Path$(iSprite_) = Sprite$ Sprite_Tex_(iSprite_) = LoadAnimTexture(Sprite$,flag_,Int(tttx#),Int(ttty#),dx,taille) EntityTexture Sprite_(iSprite_),Sprite_Tex_(iSprite_) texture_ = Sprite_Tex_(iSprite_) Tex_Filter(iSprite_) = Tex_Filter(theSprite_) Sprite_Blend_(iSprite_) = 1 TextureBlend Sprite_Tex_(iSprite_),2 TextureFilter Sprite_Tex_(iSprite_),Tex_Filter(iSprite_) EntityBlend_ iSprite_,Sprite_Blend_(iSprite_) EntityParent Sprite_(iSprite_),parent_ EntityFX Sprite_(iSprite_),1 Spr_tx#(iSprite_) = tttx# Spr_ty#(iSprite_) = ttty# Tex_Filter(iSprite_) = flag_ ScaleEntity Sprite_(iSprite_),(Spr_tx#(iSprite_)/131.0)*dimResize#,(Spr_ty#(iSprite_)/128.9)*dimResize#,1 Spr_bAnim(iSprite_) = True EntityAlpha_ iSprite_,0 EntityOrder_ iSprite_,-1024 PositionEntity Sprite_(iSprite_),-2048,-2048,1.01 HideEntity Sprite_(iSprite_) Return iSprite_ End Function Function LoadImage_(Sprite$,tttx#=256,ttty#=256,flag_=4,flag2 = 2) iSprite_ = iSprite_ + 1 Sprite_(iSprite_) = CopyMesh(SprPack) Path$ = Sprite$ Spr_Path$(iSprite_) = Sprite$ Sprite_Tex_(iSprite_) = LoadTexture(Sprite$,flag_) EntityTexture Sprite_(iSprite_),Sprite_Tex_(iSprite_) Tex_Filter(iSprite_) = Tex_Filter(theSprite_) Sprite_Blend_(iSprite_) = 1 TextureBlend Sprite_Tex_(iSprite_),flag2 TextureFilter Sprite_Tex_(iSprite_),Tex_Filter(iSprite_) EntityBlend_ iSprite_,Sprite_Blend_(iSprite_) EntityParent Sprite_(iSprite_),parent_ EntityFX Sprite_(iSprite_),1 Spr_tx#(iSprite_) = tttx# Spr_ty#(iSprite_) = ttty# ScaleEntity Sprite_(iSprite_),(Spr_tx#(iSprite_)/131.0)*dimResize#,(Spr_ty#(iSprite_)/128.8)*dimResize#,1 Tex_Filter(iSprite_) = flag_ Spr_bAnim(iSprite_) = False EntityOrder_ iSprite_,-1024 EntityBlend_ iSprite,Sprite_Blend_(theSprite_) PositionEntity Sprite_(iSprite_),-2048,-2048,1.01 HideEntity Sprite_(iSprite_) Return iSprite_ End Function Function CopyEntity_(theSprite_,parent_=0) iSprite_ = iSprite_ + 1 Path$ = Spr_Path$(theSprite_) Spr_Path$(iSprite_) = Spr_Path$(theSprite_) Sprite_Tex_(iSprite_) = Sprite_Tex_(theSprite_) Sprite_(iSprite_) = CopyMesh(SprPack) Sprite_Blend_(iSprite_) = Sprite_Blend_(theSprite_) Tex_Filter(iSprite_) = Tex_Filter(theSprite_) Sprite_Blend_(iSprite_) = 1 TextureBlend Sprite_Tex_(iSprite_),2 TextureFilter Sprite_Tex_(iSprite_),Tex_Filter(iSprite_) EntityBlend_ iSprite_,Sprite_Blend_(iSprite_) EntityTexture Sprite_(iSprite_),Sprite_Tex_(iSprite_) EntityParent Sprite_(iSprite_),parent_ EntityFX Sprite_(iSprite_),1 Spr_tx#(iSprite_) = Spr_tx#(theSprite_) Spr_ty#(iSprite_) = Spr_ty#(theSprite_) Spr_bAnim(iSprite_) = Spr_bAnim(theSprite_) ScaleEntity Sprite_(iSprite_),(Spr_tx#(iSprite_)/131.0)*dimResize#,(Spr_ty#(iSprite_)/127.8)*dimResize#,1 EntityOrder_ iSprite_,-1024 PositionEntity Sprite_(iSprite_),-2048,-2048,1.01 HideEntity Sprite_(iSprite_) Return iSprite_ End Function Function EntityBlend_(theSprite_,blend2_) Sprite_Blend_(theSprite_) = blend2_ EntityBlend Sprite_(theSprite_),blend2_ End Function Function ScaleSprite_(theSprite_,ScaleX#,ScaleY#) ScaleEntity Sprite_(theSprite_),(ScaleX#/131.0)*dimResize#,(ScaleY#/127.9)*dimResize#,1.01 End Function Function ScaleSprite2_(theSprite_,ScaleX#,ScaleY#) ScaleEntity Sprite_(theSprite_),(ScaleX#/138.0)*dimResize#,(ScaleY#/138.0)*dimResize#,1.01 End Function Function RotateSprite_(theSprite_,angle_,Cam=0) Sprite_Dir = EntityRoll(Sprite_(theSprite_)) RotateEntity Sprite_(theSprite_),EntityPitch(Came),EntityYaw(Came),angle_ End Function Function RotateEntity_(theSprite_,ax#,ay#,az#) RotateEntity Sprite_(theSprite_),ax#,ay#,az# End Function Function TurnSprite_(theSprite_,angle_) TurnEntity Sprite_(theSprite_),EntityPitch(Came),EntityYaw(Came),angle_ Sprite_Dir = EntityRoll(Sprite_(theSprite_)) End Function Function TurnEntity_(theSprite_,dx#,dy#,dz#) TurnEntity Sprite_(theSprite_),dx#,dy#,dz# End Function Function SpriteViewMode_(theSprite_,viewmode_) If theSprite_ < Max_Spr Then Spr_face(theSprite_) = ((viewmode_ = Sprite_(theSprite_))) End If End Function Function DrawImage_(theSprite_,x,y,anim=-1) ;If KeyDown(200) Then iil# = iil# - 0.00001 : Delay 10 ;If KeyDown(208) Then iil# = iil# + 0.00001 : Delay 10 PositionEntity Sprite_(theSprite_),(((Float(x+DecalX)*0.005)/iil#)*dimResize#)-1,(1.20-((Float(y+DecalY)*0.005)/iil#)*dimResize#)-0.3,1.01 Spr_x#(theSprite_) = x Spr_y#(theSprite_) = y If anim > -1 Then EntityTexture Sprite_(theSprite_),Sprite_Tex_(theSprite_),anim,0 End If ShowEntity Sprite_(theSprite_) End Function Function DrawImage2_(theSprite_,x,y,anim=-1) If KeyDown(200) Then iil# = iil# - 0.00001 : Delay 10 If KeyDown(208) Then iil# = iil# + 0.00001 : Delay 10 PositionEntity Sprite_(theSprite_),(((Float(x+DecalX)*0.0047)/iil#)*dimResize#)-1,(1.20-((Float(y+DecalY)*0.0047)/iil#)*dimResize#)-0.3,1.01 Spr_x#(theSprite_) = x Spr_y#(theSprite_) = y If anim > -1 Then EntityTexture Sprite_(theSprite_),Sprite_Tex_(theSprite_),anim,0 End If ShowEntity Sprite_(theSprite_) End Function Function AnimSprite_(theSprite_,Anim = 0) DrawImage_ theSprite_,Spr_x#(theSprite_),Spr_y#(theSprite_),Anim End Function Function DrawTexture_(theSprite_,SpriteTex_,x,y,tx,ty,r=255,g=255,b=255) EntityTexture_ theSprite_,SpriteTex_ Sprite_Tex_(theSprite_) = SpriteTex_ DrawImage_ theSprite_,x,y EntityColor_ theSprite_,r,g,b EntityBlend_ theSprite_,1 ScaleSprite_ theSprite_,tx,ty EntityAlpha_ theSprite_,1 Spr_bAnim(theSprite_) = True ShowEntity Sprite_(theSprite_) End Function Function DrawAnimTexture_(theSprite_,SpriteTex_,x,y,tx,ty,Anim=0,r=255,g=255,b=255) EntityTexture_ theSprite_,SpriteTex_,Anim Sprite_Tex_(theSprite_) = SpriteTex_ DrawImage_ theSprite_,x,y,Anim EntityColor_ theSprite_,r,g,b EntityBlend_ theSprite_,1 ScaleSprite_ theSprite_,tx,ty EntityAlpha_ theSprite_,1 Spr_bAnim(theSprite_) = True ShowEntity Sprite_(theSprite_) End Function Function EntityTexture_(theSprite_,SpriteTex_,anim=0,id=0) EntityTexture Sprite_(theSprite_),SpriteTex_,anim,id Spr_bAnim(theSprite_) = True End Function Function MidHandle_(Sprite) ; End Function Function GetTexture_(theSprite_) Local brush=GetEntityBrush(Sprite_(theSprite_)) Local tex=GetBrushTexture(brush) Return tex End Function Function EntityOrder_(theSprite_,order_=0) EntityOrder Sprite_(theSprite_),order_ End Function Function EntityAlpha_(theSprite_,alpha#=0.0) EntityAlpha Sprite_(theSprite_),alpha# End Function Function EntityColor_(theSprite_,cr,cg,cb) EntityColor Sprite_(theSprite_),cr,cg,cb End Function Function EntityFX_(theSprite_,fx_) EntityFX Sprite_(theSprite_),fx_ End Function Function MoveSprite_(theSprite_,dx#,dy#,dz#) MoveEntity Sprite_(theSprite_),dx#,dy#,dz# End Function Function TranslateSprite_(theSprite_,dx#,dy#,dz#) TranslateEntity Sprite_(theSprite_),dx#,dy#,dz# End Function Function EntityParent_(theSprite_,parent_) EntityParent Sprite_(theSprite_),parent_ End Function Function TextureBlend_(theSprite_,value_) TextureBlend Sprite_Tex_(theSprite_),value_ End Function Function HideEntity_(TheSprite_) HideEntity Sprite_(TheSprite_) End Function Function ShowEntity_(TheSprite_) ShowEntity Sprite_(TheSprite_) End Function |
Comments
None.
Code Archives Forum