J'ai modifié le code en suppriment le tableau vu qu'il ni a qu'un sprite.
Code : Tout sélectionner
; Super Bloby par Ar-S / Mai 2013 / PB 5.11
; ----------- Initialisation ---------------
InitSprite() : InitKeyboard()
UsePNGImageDecoder()
ExamineDesktops()
quite = 0
super = 0
#VitessWin = 4
; Fenêtre
Lfenetre = 400 : Hfenetre = 200
Lscreen = Lfenetre
Hscreen = Hfenetre-20 ; 20 pour la hauteur de la barre avec le bouton gadget
OpenWindow(0, #PB_Ignore, #PB_Ignore, Lfenetre, Hfenetre, "Super Bloby !", #PB_Window_BorderLess|#PB_Window_ScreenCentered)
ButtonGadget(0, 0, Hfenetre-20, 100, 20, "Quitter")
ButtonGadget(1, 102, Hfenetre-20, 200, 20, "Activer le mode Super Bloby !")
OpenWindowedScreen(WindowID(0), 0, 0, Lscreen, Hscreen, 0, 0, 0)
; Structure comprenant les infos correspondant au sprite.
Structure Bloby
PosX.l
PosY.l
Vitesse.l
image.l
EndStructure
; On remplit donc les info concernant bloby
info.Bloby\PosX=0
info.Bloby\PosY=Hscreen-30
info.Bloby\Vitesse=6
; Chargement des sprites
; On charge l'image converti en datas dans la datasection,
; c'est l'équivalent de loadsprite(0,"tonfichier.jpg",0)
CatchSprite(0,?sp_blob120x150_png_Start ,0)
; On grab le 1er sprite
ClipSprite(0, 0, 0, 30,30)
;{- La Boucle principale
Repeat
Event = WindowEvent ()
Delay (2)
; -------------------- Evenements --------------------
Select Event
Case #PB_Event_Gadget, #PB_Event_CloseWindow
If EventGadget() = 0
quite = 1
ElseIf EventGadget() = 1 ; si on appuye sur le bouton Activer super bloby
If super = 0 ; je passe la variable super à 1
super + 1
SetGadgetText(1, "Mode Super Bloby ON")
Else ; sinon on desactive le mode super bloby
super -1
SetGadgetText(1, "Mode Super Bloby OFF")
EndIf
EndIf
EndSelect
; -------------------- Mouvements --------------------
ExamineKeyboard ()
If KeyboardPushed(#PB_Key_Left)
; Deplacement vers la gauche de x pixel sachant que x = vitesse
info.Bloby\PosX - info.Bloby\Vitesse
; limite le déplacement de bloby à gauche
If info.Bloby\PosX < 1
info.Bloby\PosX = 0
; Pousse fenêtre ^^
; si mode bloby activé
If Super = 1
PosWinX = WindowX(0) - #VitessWin
If PosWinX < 0
PosWinX = 0
EndIf
ResizeWindow(0, PosWinX, #PB_Ignore, #PB_Ignore, #PB_Ignore)
EndIf
EndIf
Y+30
If y<(30*5)
ClipSprite(0, 30, y, 30,30)
Else
y=0
EndIf
EndIf
If KeyboardPushed(#PB_Key_Right)
info.Bloby\PosX + info.Bloby\Vitesse
; Limite le déplacement de bloby à droite
If info.Bloby\PosX>Lscreen-30
info.Bloby\PosX = Lscreen-30
; Pousse fenêtre ^^
If Super = 1
PosWinX=WindowX(0) + #VitessWin
If PosWinX+Lscreen >= DesktopWidth(0)
PosWinX = DesktopWidth(0) - Lscreen
EndIf
ResizeWindow(0, PosWinX, #PB_Ignore, #PB_Ignore, #PB_Ignore)
EndIf
EndIf
y+30
If y<(30*5)
ClipSprite(0, 0, y, 30, 30)
Else
y=0
EndIf
EndIf
If KeyboardPushed(#PB_Key_Up)
info.Bloby\PosY - info.Bloby\Vitesse
; limite le déplacement de bloby à gauche
If info.Bloby\PosY<0
info.Bloby\PosY=0
; Pousse fenêtre ^^
If Super = 1
PosWinY=WindowY(0) - #VitessWin
If PosWinY <= 0
PosWinY = 0
EndIf
ResizeWindow(0, #PB_Ignore, PosWinY, #PB_Ignore, #PB_Ignore)
EndIf
EndIf
Y+30
If y<(30*5)
ClipSprite(0, 60, y, 30,30)
Else
y=0
EndIf
EndIf
If KeyboardPushed(#PB_Key_Down)
info.Bloby\PosY + info.Bloby\Vitesse
; limite le déplacement de bloby à gauche
If info.Bloby\PosY > Hscreen - 30
info.Bloby\PosY = Hscreen - 30
; Pousse fenêtre ^^
If Super = 1
PosWinY=WindowY(0) + #VitessWin
If PosWinY >= DesktopHeight(0) - Hfenetre
PosWinY = DesktopHeight(0) - Hfenetre
EndIf
ResizeWindow(0, #PB_Ignore, PosWinY, #PB_Ignore, #PB_Ignore)
EndIf
EndIf
Y+30
If y<(30*5)
ClipSprite(0, 90, y, 30,30)
Else
y=0
EndIf
EndIf
If KeyboardPushed(#PB_Key_Escape)
quite = 1
EndIf
; -------------------- Affichage --------------------
TransparentSpriteColor(0,$FF00FF)
DisplayTransparentSprite(0, info.Bloby\PosX ,info.Bloby\PosY )
FlipBuffers()
ClearScreen(RGB(0, 0, 0))
Until quite = 1
FreeSprite(0)
End
; Dessins du sprite : 4 colonnes de 30 x 150 contenant verticalement 5 sprites de 30x30 par colonne
DataSection
sp_blob120x150_png_Start:
Data.l $474E5089,$0A1A0A0D,$0D000000,$52444849,$78000000,$96000000,$00000308,$BCF42200,$00000012,$58457419,$666F5374,$72617774
Data.l $64410065,$2065626F,$67616D49,$61655265,$C9717964,$00003C65,$4C503000,$00FF4554,$DFB8DCFF,$A7827B80,$C1C2AAA5,$40702CC4
Data.l $016C9162,$86040B34,$1750091C,$794DA13A,$D09D85BE,$D9E7D6A6,$FC4F504F,$67A0FCFD,$00001D58,$4449D607,$DA785441,$9AE95CEC
Data.l $551028AB,$F4458B01,$D876DFFD,$D162D014,$371F9E98,$677D7F74,$6404E128,$864B53A9,$A57E57E1,$B5A210B3,$3B0E7F26,$6DB71812
Data.l $718FFAA3,$6A57A6F5,$D4DD6180,$BD52E25F,$9D0842F9,$EF94B3E7,$43C1DCA5,$99B334F1,$3CD44A50,$51084CCF,$5DF72DC0,$B3A59717
Data.l $05818BD8,$68B88AC1,$312851D7,$352DADB9,$C0BE68B7,$80B79805,$7AA2AC23,$B910ACB9,$68594A98,$F381B9CF,$06B7F63F,$8BB8CBCC
Data.l $84FA245D,$59D2DCAC,$C2B6C80A,$FF665BBE,$C0BD849C,$5A6C43D2,$AB0DE366,$97032976,$E075673A,$310B6038,$F92F5AAD,$B93AF580
Data.l $5076838F,$8077E603,$2E0CC001,$EAAE2E91,$34E3C0FB,$9B581CE9,$EF032F9A,$814E78EF,$558EF0E7,$C93F301F,$ACD81344,$A7557DC9
Data.l $74AE708F,$DC42D558,$38763E06,$29A236C3,$DB9B3FE0,$C0E652C7,$6A63ECD2,$83C22BC7,$02AC0F59,$70970FEC,$181C48C0,$3C901FB8
Data.l $5A3D8EB7,$D7805C39,$AF1FB02A,$54E86683,$9C5C81C3,$770B8F4B,$C3CAF236,$B1A1EE19,$1CFC03F3,$91FCE87A,$AC792EBD,$999D9C06
Data.l $D5336333,$D3B00294,$8537BA69,$FFB68930,$75F347F3,$654085E1,$0D705C57,$7C3D8032,$4B3A5008,$388092EC,$1129D7A1,$A804BE22
Data.l $DC57F51C,$35D75A61,$3B5451EC,$DBF5C089,$C4D702CB,$06381A88,$082A82DC,$01214575,$54BDA27E,$D50D0C0A,$CBC31768,$7F241B1A
Data.l $04F23F9F,$B7F714D8,$D4FEC0F2,$8593FCAF,$3F697F12,$613FD9D2,$183BAB4F,$E06095B7,$C3ED8395,$965118C2,$BC306AA7,$A3B58F4D
Data.l $DB41DDFC,$43DCCF5B,$863F356C,$5F70D549,$C2FD8606,$86C1FFB7,$F3E8CD5E,$53983EA9,$0DBDB68B,$DBC1C4CC,$86B5F180,$50702AFB
Data.l $12831D62,$3AFDD2F9,$E8194970,$C2CD5E02,$965EF72C,$79804FF2,$DBC206AF,$E00DC3C0,$288022CC,$36CB9255,$1C007EBB,$7E39B989
Data.l $193FF90C,$A4755C04,$DC06374E,$1174BC0B,$3380F7F3,$F9986A9A,$3D4B2294,$D09E5E39,$31871BD4,$13BCADAF,$78686AF0,$A3D9BC0A
Data.l $7F6073FF,$BC9614C2,$3474A967,$A4D2D118,$1B73A8F5,$17546D48,$BAB3918B,$C614C3F1,$8618BA30,$1AA619BC,$2A12F981,$62C8C715
Data.l $BEB1380B,$6E6AA619,$2CD81430,$4A5165EB,$BA981D25,$2D532959,$79E053F9,$C328D60E,$53C238E0,$D79557F1,$01B52C22,$A3381B3C
Data.l $A349B824,$A2D95D4C,$FB48C827,$A7F63AB8,$BA53016E,$B651A2C5,$15E97E08,$3B041B36,$5E2D8344,$D743544F,$0404F63C,$4D198B21
Data.l $8CC3BF3D,$B17422A6,$CE4CF77E,$680D664A,$BAD8B275,$3F72A006,$C0E782B1,$1188F44F,$FD75A3A3,$BD9FDDCE,$B38C20EA,$F42BBA27
Data.l $5997C5B3,$584A441B,$A05F8B61,$2BF2BFA9,$08CFE2F5,$CE8A92B2,$455C0DFF,$D6A54D1D,$7E81878A,$9BDAA387,$82BA326F,$55D680B9
Data.l $EC72A42F,$DABC8CBD,$199E76DB,$F3732799,$F0EA599E,$0ECA923D,$954AEA82,$E639BF1E,$A483B395,$A678935A,$97937CDC,$77134F33
Data.l $D6703863,$A15EABCB,$91EBCC8A,$303A9FE6,$A5B81B7F,$3005FFB2,$7F58FFEF,$F01FE239,$E53488FE,$EDADB9DA,$E2DC07B5,$9203C7C7
Data.l $CCCCEDEA,$7CBC32A5,$4189F2A3,$44D9B4E0,$E79C3E71,$9B48CA7A,$86DC6EB4,$973CBEAB,$8845E3A7,$3B466582,$330C4C7E,$134A843C
Data.l $E7758FC7,$2A07226C,$FAD49FC4,$04B2B696,$E89DB0D9,$5C4E75C8,$DF547FC7,$B9B86556,$4857AE11,$FA2E4CD6,$42088088,$D917A55F
Data.l $EF5C4877,$A697702E,$86303622,$1586C061,$12F20F39,$A1763E62,$984691AF,$ABFED950,$69ACC19E,$1D281350,$C8486050,$C83E0459
Data.l $AB80941C,$1564CDCA,$9AFD6223,$CFF1A4EB,$E75FB00B,$6AC3EBB1,$DB8CA022,$AA8AE750,$01F8C660,$C00008B7,$DC98AE17,$CB0B60D8
Data.l $B0E433B8,$1D7E5B2F,$B799C32D,$81E1555F,$686395D7,$E7E10E39,$4B97FC59,$34D2BCC5,$164E7CCD,$F7D28371,$A1338C18,$5A13258D
Data.l $D0FB7297,$1A35530B,$C37B81B6,$9AB2AE31,$4C3FB499,$84852951,$596A993F,$C3B0C374,$61ACCC30,$647C4EF8,$1AA407AE,$5575AED7
Data.l $EA21AE74,$10C35653,$6962D755,$6FEED51E,$5A2AC4C9,$DEF6B1E8,$047CCFF8,$9A7DC8AC,$58981FAC,$321D2F5D,$270EF697,$3685D299
Data.l $8EEE630F,$06854BAB,$12015C78,$99A9D325,$B5CEAB00,$CB95DEBD,$5984A15B,$54D9247C,$8DA808AA,$E474798E,$EBE38017,$1E10D28C
Data.l $94D274B9,$C5919E7E,$21B32A0A,$8985EE75,$F05A3175,$BC473039,$B6D0223F,$626C38AB,$BA7FFB81,$90F8C3FD,$35E07381,$85738C2F
Data.l $CE9FFE60,$04B0A9C3,$A1E0B45C,$56EBB356,$158F6214,$6C5BE3BC,$88C7D71C,$CECD4E82,$B657BADA,$184C67A1,$17424B30,$3DE0C690
Data.l $528A504F,$6D6CDD44,$11C4C660,$2D7172A1,$5B66BB0D,$3A081AC9,$3DE07DEE,$CEFDD700,$652C5DB7,$EAE34867,$BFB5C38B,$E6B5ED0C
Data.l $F4A18163,$06C05AD9,$2418D98D,$C6CF52CB,$C686185D,$6B490F90,$8EFAECC8,$1A0E4B95,$1CFD1DAD,$03430574,$9D43D639,$51EA217C
Data.l $CF1B330C,$1C096661,$F8BA2754,$1CDAAAD1,$5AD4FE0D,$D37E85B7,$53F917DA,$37218606,$2880F81F,$25AFFE96,$F6A795FD,$4FF2E788
Data.l $E54F20ED,$F69BBECD,$40F2FB97,$EAC14A5F,$4A48E47D,$114B2C5C,$FCF0ED46,$1B07B09E,$B130A631,$8296F7D1,$F5827AC1,$2D604848
Data.l $3CC97E0B,$1FD4B8BF,$E4A61084,$6C6224E9,$F6A5345A,$3052420A,$BCFB3E86,$5B5EDD37,$573C592F,$D2639ACE,$10FE0809,$CDAFF4D8
Data.l $AA5575CD,$AD5366F4,$6EF1A416,$9A781705,$074525CD,$B58B54FF,$B9D74C26,$ED64F59E,$BF314BAF,$39232027,$9817AC8F,$71767E1A
Data.l $2D6DC8C3,$11241F01,$25EAA54D,$6CCB8BC8,$21358045,$F0D8095B,$9D4CF10B,$4231364F,$87DC9DCB,$E33ACA4D,$A54601EB,$D90DA521
Data.l $CDAB3EC8,$0FBDB526,$5D327B0C,$5D17499E,$D3243A31,$1CC047C1,$F385D6D5,$65ADE1F0,$EB3BA648,$6073ECFC,$9303B3C0,$DB4E47D6
Data.l $529711CD,$196A6366,$7497B012,$2DE2E91F,$0174FDE0,$6D69AE21,$C5FAFB81,$E2C0AE23,$0B04BDC0,$E45388B6,$FEC0D74D,$2FCDA73D
Data.l $6DDD8130,$BF344FC2,$C6243C0D,$F9124037,$9200630E,$C64E174A,$C35B4E52,$DF52EA46,$96135135,$61A43EFA,$A2350D8A,$1670D9C2
Data.l $53FB27B1,$FEC9AFA2,$B52BF443,$5ADBAE74,$037AFDB5,$40DEBEE2,$B819432F,$57DE0DA9,$DAC9C7E7,$E85F0B05,$00CED000,$0F7C590C
Data.l $2BF94478,$92D06E2C,$FFCC1977,$DDDFDC06,$8FAD94EB,$1546BE04,$006013FF,$83CD1074,$B6A901E9,$00000000,$444E4549,$826042AE
sp_blob120x150_png_End:
EndDataSection ;}