[2D] Kill Birds

Programmation avancée de jeux en PureBasic
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [2D] Kill Birds

Message par falsam »

Mais heuuuu vous m’embêtez avec vos Cyborgs :p

Atlante a modifié le code pour que ça fonctionne. N'ayant pas de souris identique je veux bien voir sa modif et l'intégrer à mon code.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [2D] Kill Birds

Message par Ar-S »

C'est le code du topic 1 ou de l'archive que tu as changé ?
Si c'est le code topic 1, le probleme perdure.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [2D] Kill Birds

Message par falsam »

Ar-S a écrit :C'est le code du topic 1 ou de l'archive que tu as changé ?
Si c'est le code topic 1, le probleme perdure.
Ni l'un ni l'autre. Je n'ai rien changé.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Atlante
Messages : 337
Inscription : mer. 29/juin/2011 18:35
Localisation : Paris

Re: [2D] Kill Birds

Message par Atlante »

Hello,

Je suis au taf donc je ne peux pas testé, amsi voilà le code modifié :

Code : Tout sélectionner

;Kill Birds

EnableExplicit

Enumeration
  #font                ; Font pour l'affichage du score
  
  #mainform                 
  #background
  #ground
  
  #scorepanel
  #scoretext
  
  #bird                ;Oiseau  
  #sight               ;Viseur
  #explosion               
  
  #gunshoot            ;Son tir
  
EndEnumeration

Global Event          ; Evénement fenetre principale                   

;Structure type d'un sprite qui servira pour chaque oiseau et chaque explosion.
Structure Sprite 
  Actif.b              ; Actif
  
  x.i                  ; Position en X du sprite
  y.i                  ; Position en Y du sprite
    
  Animation.i          ; Animation en cours
  CurrentFrame.i       ; Indique quelle image de l'animation est actuellement en cours 
  
  FrameWidth.i         ; Largeur de chaque image de l'animation
  FrameHeight.i        ; hauteur de chaque image de l'animation
  FrameMax.i           ; Nombre d'image maximum pour une animation
  
  FrameRate.i          ; Transition entre deux images (Ms)
  FrameTimeLife.i      ; Indique la durée d'affichage de l'image en cours
    
  VelocityX.i          ; Vitesse déplacement en X
  VelocityY.i          ; Vitesse déplacement en Y
    
  SpriteWidth.i        ; Largeur du sprite 
  SpriteHeight.i       ; Hauteur du sprite 
  
  Life.i               ; Nombre de vie d'un sprite (Aucune utilité dans ce code)            
  
  Died.b               ; Exemple: Quand l'oiseau est touché il tombe
  Opacity.i            ; Exemple: Quand un oiseau est mort, l'opacité du sprite est réduite de moitié  
  
EndStructure 

Global NewList birds.Sprite(), CountBirds=30, AnimLeft=0, AnimRight=1, AnimDown = 2
Global explosion.sprite, AnimExplosion=0

Global Shoot.b        ; Il y a eu un tir (#True)
Global ShootTimeLife  ; Durée de vie d'un tir (En Ms)
Global LastShoot      ; Quand à eu lieu le dernier tir (en Ms) 
Global ShootLife.b    ; Un tir est actif

Global Ground         ;En quel position se trouve le sol


Global mousex.i,mousey.i,screenactive.i ; souris roccat, razer .....

Procedure mousethread(flag.i) ; souris roccat, razer .....

   Static quit.i
   If flag
      Repeat
         If ExamineMouse()
            mousex=MouseX()
            mousey=MouseY()
         EndIf
         Delay(1)
      Until quit
      quit=#False
   Else
      If Not flag
         quit=#True
         While quit
            Delay(1)
         Wend
      EndIf
   EndIf
EndProcedure




Procedure Init()
  Protected cr.b = #True
  
  LoadFont(#font, "Arial", 25)
  UseJPEGImageDecoder()
  UsePNGImageDecoder()
  
  If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 And InitSound() = 0
    MessageRequester("Error", "Sprite system can't be initialized", 0)
    cr=#False
  EndIf
  
  ProcedureReturn cr
EndProcedure

;Creation des oiseaux
Procedure BirdsCreate(Value)
  Protected n, Scale
  For n =1 To Value
    Scale = Random(100, 30)
    
    AddElement(birds())
    birds()\Actif = #True
    birds()\died = #False
    birds()\Animation = AnimLeft
    birds()\CurrentFrame = Random(3, 0)
    birds()\FrameMax = 4
    birds()\FrameWidth = 64
    birds()\FrameHeight = 64
    birds()\FrameTimeLife = ElapsedMilliseconds()
    birds()\FrameRate = 130 
    birds()\x = Random(700, 100)
    birds()\y = Random(400, 50)
    birds()\VelocityX = Random(5, 1)*-1
    birds()\VelocityY = Random(2, 1)
    birds()\SpriteWidth = birds()\FrameWidth * Scale/100
    birds()\SpriteHeight = birds()\FrameHeight * Scale/100
    birds()\Opacity = 255
    
  Next
EndProcedure

;Les plumes voles (Sprite de 10 images de 200x200 - Frame rate 130ms)  
Procedure ExplosionCreate()
  explosion\Animation = AnimExplosion
  explosion\CurrentFrame=0
  explosion\FrameMax = 10
  explosion\FrameWidth = 200
  explosion\FrameHeight = 200
  explosion\FrameTimeLife = ElapsedMilliseconds()
  explosion\FrameRate = 130
EndProcedure

;Mise à jour du jeu
Procedure GameUpdate()
  
  DisplaySprite(#background, 0, 0)
  DisplaySprite(#ground, 0, 500) 
  
  ForEach birds()
    
    ;- Animation de chaque oiseau (Quel cirque!!!)
    If ElapsedMilliseconds()-birds()\FrameTimeLife > birds()\FrameRate

      birds()\FrameTimeLife = ElapsedMilliseconds()
           
      If birds()\CurrentFrame < birds()\FrameMax-1
        birds()\CurrentFrame+1  
      Else
        birds()\CurrentFrame=0  
      EndIf  
    EndIf

    ClipSprite(#bird, birds()\CurrentFrame * birds()\FrameWidth, birds()\Animation * birds()\FrameHeight, birds()\FrameWidth , birds()\FrameHeight)
    ZoomSprite(#bird, birds()\SpriteWidth, birds()\SpriteHeight)
    DisplayTransparentSprite(#bird, birds()\x, birds()\y, birds()\Opacity)  
    
    ;- Joueur tire
    If KeyboardPushed(#PB_Key_Space) And Shoot = #False
      Shoot = #True
      ShootLife = #True
      PlaySound(#gunshoot)
    EndIf
    
    If KeyboardReleased(#PB_Key_Space)
      Shoot = #False
    EndIf
               
    ;- Collision entre le viseur et un oiseau au moment du tir (ShootLife = #True)
    ;  L'oiseau doit etre actif (birds()\Actif = #True)
    ;  L'oiseau n'est pas encore touché (birds()\died = #False) 
    If SpriteCollision(#sight, MouseX(), MouseY(), #bird, birds()\x, birds()\y) And birds()\died = #False And birds()\Actif = #True
      If ShootLife = #True ;On vient de tirer
        birds()\died = #True ;L'oiseau est touché
        CountBirds-1 ;Un oiseau de moins (Je deteste les Flappy Birds like :p)
        explosion\Actif = #True ;Initialisation des plumes qui volent.
        
        ;Coordonnées de l'explosion par rapport au point x,y central de l'oiseau.
        explosion\x = birds()\x - birds()\FrameWidth
        explosion\y = birds()\y - birds()\FrameHeight
      EndIf
    EndIf  
        
    ;- Animation explosion (Les plumes voles) 
    If explosion\Actif = #True
      If ElapsedMilliseconds()-explosion\FrameTimeLife > explosion\FrameRate
        explosion\FrameTimeLife = ElapsedMilliseconds()
           
        If explosion\CurrentFrame < explosion\FrameMax-1
          explosion\CurrentFrame+1  
        Else
          explosion\CurrentFrame=0  
          explosion\Actif = #False
        EndIf    
      EndIf
        
      ClipSprite(#explosion, explosion\CurrentFrame * explosion\FrameWidth, explosion\Animation * explosion\FrameHeight, explosion\FrameWidth , explosion\FrameHeight)
      DisplayTransparentSprite(#explosion, explosion\x, explosion\y, 255)  
    EndIf 
    
    ;-Controle vélocité et rebond des oiseaux dans les limites de la surface de jeu
    If birds()\Actif = #True
      birds()\x + birds()\VelocityX
    
      If birds()\x < 0 Or birds()\x > 800
        birds()\VelocityX *-1
        If birds()\VelocityX > 0
          birds()\Animation = AnimRight  
        Else
          birds()\Animation = AnimLeft
        EndIf  
      EndIf
    Else
      birds()\y - birds()\VelocityY
    EndIf
    
    ;-Un oiseau est touché
    If birds()\Died = #True And birds()\Actif = #True
      birds()\Animation = AnimDown
      birds()\y + (birds()\VelocityY)*3 ;Il tombe 3 fois plus vite
      
      ;Il touche le sol
      If birds()\y > Ground
        birds()\y = ground
        birds()\Actif = #False ;Il devient inactif
        birds()\Opacity = 128
      EndIf
    EndIf
    
  Next
  
  ;- Controle durée de vie d'un tir
  If ShootLife=#True
    If ElapsedMilliseconds()-LastShoot > ShootTimeLife
      LastShoot = ElapsedMilliseconds()
      ShootLife = #False
    EndIf
  EndIf 
  
  ;Affiche le viseur
  DisplayTransparentSprite(#sight, MouseX(), MouseY(), 255)    
  
  ;Affichage du score
  DisplayTransparentSprite(#scorepanel, 650, 480)
  CreateSprite(#scoretext, 120, 60)
  StartDrawing(SpriteOutput(#scoretext))
  Box(0, 0, 120, 60, RGB(54, 54, 54))
  DrawingFont(FontID(#font))
  DrawingMode(#PB_2DDrawing_Transparent)
  DrawText(10, 10, Str(CountBirds), RGB(255, 69, 0))
  StopDrawing()
  RotateSprite(#scoretext, -5, #PB_Absolute)
  TransparentSpriteColor(#scoretext, RGB(54, 54, 54))
  DisplayTransparentSprite(#scoretext, 685, 475, 255)    
  
EndProcedure

Procedure GameStart()
  
  ShootTimeLife = 500 ;Durée de vie d'un tir en ms
  Ground = 450 ;Position vertical du sol
  
  If OpenWindow(#mainform, 0, 0, 800, 600, "Kill Birds", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
    If OpenWindowedScreen(WindowID(#mainform), 0, 0, 800, 600)
      
      ;Son tir
      LoadSound(#gunshoot, "data/sounds/gunshot.wav")
      
      ;Creation de l'animation explosion
      ExplosionCreate()
      
      ;Image de fond et sol
      LoadSprite(#background, "data/images/background.jpg")
      LoadSprite(#ground, "data/images/ground.jpg")
      
      ;Panneau de score
      LoadSprite(#scorepanel, "data/images/panel1.png", #PB_Sprite_AlphaBlending)
      ZoomSprite(#scorepanel, 120, 60)
      
      ;L'oiseau
      LoadSprite(#bird, "data/images/bird.png", #PB_Sprite_AlphaBlending)
            
      ;Viseur
      LoadSprite(#sight, "data/images/sight.png", #PB_Sprite_AlphaBlending)
      ZoomSprite(#sight, 50, 50)
      
      ;Explosion
      LoadSprite(#explosion, "data/images/iceblaster.png", #PB_Sprite_AlphaBlending)
            
      ;Oiseaux
      BirdsCreate(CountBirds)
      
      ;Gestion souris roccat, razer ...
      Define testscreenactive.i=#True
      CreateThread(@mousethread(),#True)

      
      ;-Boucle evenementielle
      Repeat  
        Repeat
          event = WindowEvent()
          Select event  
            Case #PB_Event_CloseWindow
            End
          EndSelect  
        Until event=0
    
        FlipBuffers()
        ; souris roccat, razer ....
        testscreenactive=IsScreenActive()
        If testscreenactive<>screenactive
              screenactive=testscreenactive
           If screenactive=1
             ReleaseMouse(#False)
             ShowCursor_(#False)
            Else
             ReleaseMouse(#True)
             ShowCursor_(#True)
           EndIf
        EndIf


        
        ClearScreen(RGB(0,0,0))
                
        ExamineKeyboard()
        ExamineMouse()
        GameUpdate()

    Until KeyboardPushed(#PB_Key_Escape)
  
    Else
      MessageRequester("Oops", "Erreur lors de la création de la fenêtre 2D", 0)
    EndIf  
  EndIf
EndProcedure

If Init()
  GameStart()
Else
  MessageRequester("Oops !", "Impossible d'intialiser l'environnement 2D")
EndIf

End

Modérateur
Config : Intel I5 4670K, Nvidia Geforce GTX 1060, 16go RAM, SSD 256go, DD 2000go
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [2D] Kill Birds

Message par Ar-S »

Nickel comme ça Atlante :)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Atlante
Messages : 337
Inscription : mer. 29/juin/2011 18:35
Localisation : Paris

Re: [2D] Kill Birds

Message par Atlante »

Super, je laisse falsam éditer son post s'il le souhaite :)
Sinon chez moi, j'ai viré la touche espace et remplacé par le click souris c'est plus intuitif.
Modérateur
Config : Intel I5 4670K, Nvidia Geforce GTX 1060, 16go RAM, SSD 256go, DD 2000go
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [2D] Kill Birds

Message par falsam »

Atlante a écrit :j'ai viré la touche espace et remplacé par le click souris c'est plus intuitif.
Je suis d'accord et c'est ce que j'avais fait dans une première version. Mon souci est qu'on ne peut pas savoir nativement si la souris est relacher avant de tirer le prochain coup (ou alors j'ai mal lu la documentation) et je n'ai pas trouver une méthode satisfaisante.

Je vais encore me faire engueuler, mais voila ma première version compiler pour le web.
:arrow: Kill birds version web. Souris pour viser ET tirer.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: [2D] Kill Birds

Message par Fig »

:?:

Code : Tout sélectionner

If InitSprite() = 0 Or InitKeyboard()=0 Or InitMouse()=0 Or InitNetwork()=0:MessageRequester("Error","Error DirectX",0):EndIf
If OpenWindow(0,0,0,200,200, "Astar test", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
    If OpenWindowedScreen(WindowID(0),0,0,200,200,0,0,0,#PB_Screen_NoSynchronization )=0
        MessageRequester("Erreur", "Impossible d'ouvrir un écran dans la fenêtre!", 0)
        End
    EndIf
EndIf
StickyWindow(0,1)

EtatPrecedent=0
Repeat
WindowEvent()
ClearScreen(#Black)
ExamineMouse()
If EtatPrecedent=0 And MouseButton(#PB_MouseButton_Left):EtatPrecedent=1:a.s="Front montant":EndIf
If EtatPrecedent=1 And MouseButton(#PB_MouseButton_Left)=0:EtatPrecedent=0:a.s="Front descendant":EndIf
StartDrawing(ScreenOutput())
DrawText(0,0,a)
StopDrawing()
ExamineKeyboard()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [2D] Kill Birds

Message par falsam »

J'ai bien dit que je n'avais pas trouver une méthode satisfaisante :)

Ta méthode n'est pas non plus satisfaisante dans ce cadre là car elle se base sur un appui constant que je ne souhaitais pas pour ce code que j'ai proposé.

Si tu testes la version en ligne, tu verras qu'il n'est pas possible de tirer une nouvelle fois sans avoir relâcher au préalable le bouton gauche de la souris.

J'avais fait la même chose que toi dans une précédente version avec une notion de timeout pendant qu'on maintenait le bouton gauche de la souris, mais le rendu sonore était atroce. J'ai abandonné pour une solution de facilité et surtout native

Code : Tout sélectionner

If KeyboardPushed(#PB_Key_Space)
et

Code : Tout sélectionner

If KeyboardReleased(#PB_Key_Space)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Atlante
Messages : 337
Inscription : mer. 29/juin/2011 18:35
Localisation : Paris

Re: [2D] Kill Birds

Message par Atlante »

falsam a écrit :
Atlante a écrit :j'ai viré la touche espace et remplacé par le click souris c'est plus intuitif.
Je suis d'accord et c'est ce que j'avais fait dans une première version. Mon souci est qu'on ne peut pas savoir nativement si la souris est relacher avant de tirer le prochain coup (ou alors j'ai mal lu la documentation) et je n'ai pas trouver une méthode satisfaisante.

Je vais encore me faire engueuler, mais voila ma première version compiler pour le web.
:arrow: Kill birds version web. Souris pour viser ET tirer.
Euh,ça fonctionne super chez moi :

Code : Tout sélectionner

 ;- Joueur tire
    If MouseButton(#PB_MouseButton_Left) And Shoot = #False
      Shoot = #True
      ShootLife = #True
      PlaySound(#gunshoot)
    EndIf
    
    If MouseButton(#PB_MouseButton_Left) = 0
      Shoot = #False
    EndIf
Modérateur
Config : Intel I5 4670K, Nvidia Geforce GTX 1060, 16go RAM, SSD 256go, DD 2000go
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [2D] Kill Birds

Message par Backup »

et ça , ça te vas ?

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu, Fred
; Version de PB : 3.90
;
; Explication du programme :
; Détection des différents état de la souris - Appuyer sur le bouton gauche, relacher le bouton gauche, double clic, etc ...
#WM_MOUSEWHEEL = $20A
#WHEEL_DELTA = 120
#text=1
If OpenWindow(0, 0, 0, 200, 200, "Souris",#PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
	SetClassLong_(WindowID(0), #GCL_STYLE, GetClassLong_(WindowID(0), #GCL_STYLE) | #CS_DBLCLKS) ; Active la gestion du double clic
	CreateImage(0, 200, 100)
	StartDrawing(ImageOutput(0))
		DrawingMode(1)
		FrontColor(RGB(255, 255, 255))
		DrawText(5,20,"Bouton gauche appuyé")
		DrawText(5,35,"Double clic gauche")
	StopDrawing()
	ImageGadget(0, 0, 0, 200, 100, ImageID(0))
	SetWindowLong_(GadgetID(0), #GWL_STYLE, GetWindowLong_(GadgetID(0), #GWL_STYLE) & ~#SS_NOTIFY)
	TextGadget(#text, 1, 150, 200, 50, "appuis touche souris") 
	Repeat
		Event = WaitWindowEvent() 
		select Event 
			Case  #WM_LBUTTONDOWN
			SetGadgetText(#text, "Bouton gauche appuyé") 
			Case #WM_LBUTTONUP
			SetGadgetText(#text,"Bouton gauche relaché")  
			Case #WM_LBUTTONDBLCLK
			SetGadgetText(#text,"Double clic gauche") 
			Case #WM_RBUTTONDOWN
			SetGadgetText(#text,"Bouton droit appuyé")
			Case #WM_RBUTTONUP
			SetGadgetText(#text,"Bouton droit relaché")  
			Case #WM_RBUTTONDBLCLK
			SetGadgetText(#text,"Double clic droit") 
			Case #WM_MBUTTONDOWN
			SetGadgetText(#text,"Bouton du milieu appuyé") 
			Case #WM_MBUTTONUP
			SetGadgetText(#text,"Bouton du milieu relaché") 
			Case #WM_MBUTTONDBLCLK
			SetGadgetText(#text,"Double clic du milieu") 
			Case #WM_MOUSEWHEEL
			Molette.l = -(EventwParam() >> 16) / #WHEEL_DELTA
			If Molette > 0
				SetGadgetText(#text,"Molette en avant de " + Str(Molette))
				ElseIf Molette < 0
				SetGadgetText(#text,"Molette en arrière de " + Str(Molette))
			EndIf
			Case #PB_Event_Gadget
			Select EventGadget()
				Case 0
				Select EventType()
					Case #PB_EventType_LeftClick
					SetGadgetText(#text,"Gadget : Bouton gauche appuyé")
					Case #PB_EventType_LeftDoubleClick
					SetGadgetText(#text,"Gadget : Double clic gauche")
				EndSelect
			EndSelect
		EndSelect
	Until Event = #WM_CLOSE
EndIf



; 

; Epb


Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: [2D] Kill Birds

Message par Fig »

Atlante a écrit :Euh,ça fonctionne super chez moi :

Code : Tout sélectionner

 ;- Joueur tire
    If MouseButton(#PB_MouseButton_Left) And Shoot = #False
      Shoot = #True
      ShootLife = #True
      PlaySound(#gunshoot)
    EndIf
    
    If MouseButton(#PB_MouseButton_Left) = 0
      Shoot = #False
    EndIf
C'est ce que j'avais proposé, mais visiblement ce n'est pas "satisfaisant."
falsam a écrit : Ta méthode n'est pas non plus satisfaisante dans ce cadre là car elle se base sur un appui constant que je ne souhaitais pas pour ce code que j'ai proposé.
Pourtant il s'agit du front descendant/front montant et non d'un appui constant... :|
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [2D] Kill Birds

Message par falsam »

@Atlante et Fig. Merci pour vos réponses. je ne sais pas pourquoi ça n'a pas fonctionné initialement !
je n'avais pas percuter sur ce fragment de code

Code : Tout sélectionner

MouseButton(#PB_MouseButton_Left) = 0
La solution était là :)

@Dobro: Merci pour ton code.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [2D] Kill Birds

Message par falsam »

Code et téléchargement mis à jour dans le premier message.

Modification : Clic gauche pour tirer au lieu de la barre d'espace.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Atlante
Messages : 337
Inscription : mer. 29/juin/2011 18:35
Localisation : Paris

Re: [2D] Kill Birds

Message par Atlante »

falsam a écrit :Code et téléchargement mis à jour dans le premier message.

Modification : Clic gauche pour tirer au lieu de la barre d'espace.
tu veux pas rajouter ma modification pour que cela fonctionne chez tout le monde avec la souris ?
Modérateur
Config : Intel I5 4670K, Nvidia Geforce GTX 1060, 16go RAM, SSD 256go, DD 2000go
Répondre