Cascade d'evenements

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

ce qui n'est pas le cas dans mon code plus haut... puisque je donne une direction aléatoire dès le départ (création) d'un objet.
Image
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

Décortiquer un programme est un sport de haute voltige :)
C'est plus facile quand tout est mis en commentaires
Dans 20 ans qui saura relire toutes ces lignes?
Il faut aider les générations futures :)
Est beau ce qui plaît sans concept :)
Speedy Galerie
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

merde effacée
Dernière modification par SPH le mar. 17/oct./2006 23:48, modifié 1 fois.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Je viens de découvrir après coup le tutorial sur les structures et les listes chainées (présent dans DEBUTANT).
Si, comme moi, tout ca est inconnu pour vous, lisez ce tuto :
http://purebasic.hmt-forum.com/viewtopic.php?t=882
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

merde effacée
Dernière modification par SPH le mar. 17/oct./2006 23:48, modifié 1 fois.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Ca marche bien l'exemple des collisions :D
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Denis a écrit :Ca marche bien l'exemple des collisions :D
Ouai, mais bon, le code utilise des point() pour tester si il y a une collision; d'où un ralentissement rapide... Mais bon, ca marche :lol:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

petit exemple de collision a l'aide de sprites


  ; codé par Dobro
rezx=1024
rezy=768
nombre_sprite=600


#sprite =0
#Fenetre =1
Structure etoile
    x.l
    Y.l
    sensy.l
    sensx.l
    couleur.l
EndStructure
Dim etoile.etoile(1001)



InitMouse ()
InitSprite ()
InitKeyboard ()
OpenWindow ( #Fenetre , 1,1,rezx, rezy, "une touche pour sortir" , #PB_Window_SystemMenu ) ; on ouvre une fenetre
OpenWindowedScreen ( WindowID ( #Fenetre ) , 0, 0,rezx, rezy, 1, 1, 1) ; on met un ecran dedans !!

CreateSprite ( #sprite ,4,4)
StartDrawing ( SpriteOutput ( #sprite ))
Circle (2, 2, 2 , RGB (0,255,255))
StopDrawing ()

For i=0 To nombre_sprite
    etoile(i)\x= Random (rezx)
    etoile(i)\Y= Random (rezy)
    etoile(i)\sensy=2
    etoile(i)\sensx=2
    etoile(i)\couleur= RGB ( Random (rezy) , Random (rezy) , Random (rezy) )
     CreateSprite (i,4,4)
     StartDrawing ( SpriteOutput (i))
     Circle (2, 2, 2 , RGB ( Random (255), Random (255), Random (255)))
     StopDrawing ()
Next i



Repeat
    Event= WindowEvent ()
    
     For i=0 To nombre_sprite
         ExamineKeyboard ()
        etoile(i)\Y=etoile(i)\Y+etoile(i)\sensy
         etoile(i)\x=etoile(i)\x+etoile(i)\sensx
         If etoile(i)\Y> rezy :etoile(i)\sensy=-etoile(i)\sensy: EndIf
         If etoile(i)\Y< 0 :etoile(i)\sensy=-etoile(i)\sensy: EndIf
        
         If etoile(i)\x> rezx :etoile(i)\sensx=-etoile(i)\sensx: EndIf
         If etoile(i)\x< 0 :etoile(i)\sensx=-etoile(i)\sensx: EndIf
        
        
         DisplaySprite (i,etoile(i)\x,etoile(i)\Y)

         For o=0 To nombre_sprite
             If SpriteCollision (o, etoile(o)\x, etoile(o)\Y,i, etoile(i)\x,etoile(i)\Y)
                etoile(i)\sensx=-etoile(i)\sensx
                etoile(i)\sensy=-etoile(i)\sensy
                etoile(o)\sensx=-etoile(o)\sensx
                etoile(o)\sensy=-etoile(o)\sensy
         EndIf
     Next o
        
        
     Next i
     FlipBuffers (1) ;
     ClearScreen ( RGB (0,0,0))
Until Event= #PB_Event_CloseWindow Or KeyboardPushed ( #PB_Key_All ) ;
Répondre