[ RESOLU ] bouger un sprite avec la souris [ RESOLU ]

Programmation avancée de jeux en PureBasic
Avatar de l’utilisateur
venom
Messages : 3136
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

[ RESOLU ] bouger un sprite avec la souris [ RESOLU ]

Message par venom »

bonjour,

voila j'ai voulu tester la fonction 2D pour changer :wink: mais j'ai déja des problème des le début :oops: , pour faire bouger mon sprite dans mon screen tester vous verrez .

voici un début de code

Code : Tout sélectionner

If InitMouse() = 0 Or InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Error", "not open DirectX 7", 0)
  End
EndIf

If OpenScreen(800, 600, 16, "Mouse") = 0
  MessageRequester("Error", "Impossible to open a 800*600 16 bit screen",0)
  End
EndIf

x = 800
y = 600

LoadSprite(0, "d:/gamebrick/barre.bmp", 0)

Repeat
  FlipBuffers()                        
  ClearScreen(RGB(0,0,0))                

  ExamineKeyboard()
  ExamineMouse()                      
       
  x = MouseX()  
  DisplaySprite(0, x-SpriteWidth(0), y-SpriteHeight(0))

Until KeyboardPushed(#PB_Key_Escape)

End 
ps: j'utilise une image de 100X15

@++
Dernière modification par venom le mer. 02/mai/2007 5:46, modifié 1 fois.
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Si tu veux faire suivre a ton sprite la position de ta souris, ton code a peine
modifier semble bien fonctionné

Code : Tout sélectionner

If InitMouse() = 0 Or InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Error", "not open DirectX 7", 0)
  End
EndIf

If OpenScreen(800,600 32, "Mouse") = 0
  MessageRequester("Error", "Impossible to open a 800*600 16 bit screen",0)
  End
EndIf



LoadSprite(0, "sources/data/Geebee2.bmp", 0)

Repeat
  FlipBuffers()                       
  ClearScreen(RGB(0,0,0))               

  ExamineKeyboard()
  ExamineMouse()                     
       
  x = MouseX() 
  y = MouseY()
  DisplaySprite(0, x, y)

Until KeyboardPushed(#PB_Key_Escape)

End
ou alors je n'ai pas saisi le fond de ta question . :?
Force et sagesse...
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

tu as oublié un

Code : Tout sélectionner

y=MouseY()
:wink:

sinon ça marche... mais je sais pas exactement ce que tu veux faire ...
Edit: tmyke M'a eu sur la vitesse :P
Avatar de l’utilisateur
venom
Messages : 3136
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

re,

désolé mais chez moi j'ai toujours la même erreur :oops: .
sinon ça marche... mais je sais pas exactement ce que tu veux faire ...
je t'avoue que je n'est pas encore d'idée fixe mais je voudrais au moîn faire bouger une image avec la souris mais pour l'instant l'image disparait hors du screen :cry: . c'est a sa que j'essaie de remédié :wink:


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

venom a écrit : je voudrais au moîn faire bouger une image avec la souris mais pour l'instant l'image disparait hors du screen :cry: . c'est a sa que j'essaie de remédié :wink:


@++
Aaaaaaaaa ba voilà ! si on a pas tout les details on peu pas t'aider !

il te suffit de modifier ton code comme ça (j'ai pas tester c'est ecrit comme ça mais l'idée est là)

Code : Tout sélectionner

  x = MouseX() 
  y= MouseY()
if x+SpriteWidth(0)>800:x=800-SpriteWidth(0):endif
if y+SpriteHeight(0)>600:y=600-SpriteHeight(0):endif
  DisplaySprite(0, x, y)
Avatar de l’utilisateur
venom
Messages : 3136
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

:oops: autant pour moi c'est vrai je n'avais pas précisé vraiment mon problème :wink:

en revanche sa fonctionne parfaitement maintenant :wink: merci Thyphoon et tmyke :wink: .

vu que c'est la première fois que je test la fonction 2D on va surement me revoir d'ici peut :lol:

a bientôt et encore merci :wink:


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Répondre