completement perdu[resolu]
Publié : mar. 08/janv./2008 21:33
bonsoir quelqu'un pourrait il m'expliquer comment on peut faire apparaitre une animation lors d'une collision ,le plus simplement possible j'ai une petite tete et l'age n'arrange rien
sans refaire tout mon code qui est surement plein de truc bizards
je vous remerci d'avance
sans refaire tout mon code qui est surement plein de truc bizards
je vous remerci d'avance
Code : Tout sélectionner
InitSprite():InitSprite3D():InitKeyboard():InitMouse() :InitSound()
Enumeration
#explosion
#explosion3d
#explos1
#galax
#vaisseau
#fond
#tir1
#feu
#aster1
EndEnumeration
Global posxtir,posytir,tirjoueur,t=0,t1=0,asterx,astery=-100,score,scrolling=0,asteroide
OpenScreen(800,600,32,"ecranjeu")
LoadSprite(#galax,"c:\space\gala1.bmp")
LoadSprite(#aster1,"c:\space\aster1.bmp")
TransparentSpriteColor(#aster1,$ffffff)
LoadSprite(#vaisseau,"c:\space\vaisseau.bmp",0);charge le dessin
TransparentSpriteColor(#vaisseau,$ffffff)
LoadSprite(#tir1,"c:\space\tir1.bmp",0)
LoadSprite(#explosion,"c:\space\explosion.bmp",#PB_Sprite_Texture )
TransparentSpriteColor(#explosion,$ffffff)
CreateSprite3D(#explosion3d,#explosion)
TransparentSpriteColor(#tir1,$ffffff)
MouseLocate(385,520)
LoadSound(#explos1,"c:\space\explos1.wav")
Declare explosionaster1()
Declare coltirast()
;*********************************
Structure tirjoueur
posxtir.l
posytir.l
EndStructure
Global NewList position.tirjoueur()
;*********************************
Structure asteroide
asterx.l
astery.l
vitesse.l
EndStructure
Global NewList coord.asteroide()
;********************************
;******************************
Procedure gestiontir()
Select KeyboardReleased(#PB_Key_Space)
Case 0
t=1
Case 1
t=0
EndSelect
If t=1:Goto freintir:EndIf
If t=0
InsertElement(position())
position()\posxtir=MouseX()+13
position()\posytir=MouseY()
EndIf
t=1
freintir:
While NextElement(position())
position()\posytir-5
DisplayTransparentSprite(#tir1,position()\posxtir,position()\posytir)
If position()\posytir<=0:t=0
EndIf
coltirast()
Wend
t=0
ResetList(position())
EndProcedure
;***********************************
Procedure afficheaster()
InsertElement(coord())
If t1=1:Goto freinaster1:EndIf
If t1=0:coord()\asterx=Random(740):EndIf
t1=1
freinaster1:
While NextElement(coord())
t1=1
coord()\astery+5
DisplayTransparentSprite(#aster1,coord()\asterx,coord()\astery)
If coord()\astery>600:t1=0:coord()\astery=-100
DeleteElement(coord())
EndIf
Wend
t1=0
EndProcedure
;************************************
Procedure coltirast()
If SpritePixelCollision(#tir1,position()\posxtir,position()\posytir,#aster1,coord()\asterx,coord()\astery)
explosionaster1()
DeleteElement(coord()):t1=0
DeleteElement(position()):
t=0
EndIf
EndProcedure
;************************************
Procedure explosionaster1()
PlaySound(#explos1)
Start3D()
For i=0 To 50000
DisplaySprite3D(#explosion3d ,coord()\asterx,coord()\astery,255)
Next i
Stop3D()