Page 1 sur 2

Question de newbie sur les sprites

Publié : lun. 22/nov./2004 13:15
par Torp
Salut,

Je voudrais faire un petit jeu de carte style Solitaire. J'ai réussi à afficher mes cartes en tant que sprite, mais je n'arrive à trouver comment détecter le passage du curseur de la souris au dessus d'un sprite, puis qu'on lui clique dessus en vue de la déplacer... :?:

Merci

Publié : lun. 22/nov./2004 13:32
par lionel_om
Je suis aussi newbee ke toi en 2D dc je ne peux pas t'aider.
Sauf pe etre en mettant un sprite au nivo de la souris et apres de voir si ya collision des sprites. Mais ca j'en sui pas sur (c'est ce que je fesai en DarkBasic).

Mais moi aussi j'ai une question :
Ya t-il un moyen d'afficher le curseur de la souris lorsque que l'on est en mode plein écran (avec InitSprite() et tt le tralala...) ???
J'ai rechercher une fonction sur pureArea.net, mais je n'ai rien trouvé ! :cry:

Publié : lun. 22/nov./2004 14:46
par Backup
Mais moi aussi j'ai une question :
Ya t-il un moyen d'afficher le curseur de la souris lorsque que l'on est en mode plein écran (avec InitSprite() et tt le tralala...) ???
J'ai rechercher une fonction sur pureArea.net, mais je n'ai rien trouvé !
en plein ecran ou pas il y a moyen de connaitre les coordonées du pointeur de souris avec "Resultat = MouseX() " et sa soeur

donc libre a toi de faire coincider la position d'un sprite a cette coordonéé
voir la librairie Mouse dans l'aide du pure !! :D

Publié : lun. 22/nov./2004 15:03
par Polux
tu cree un sprite en forme de pointeur qui sera dirigé gràce à la souris.
tu utilise ensuite

examinemouse()
pointeurx+mousedeltax()
pointeury+mousedeltay()
displaytransparentsprite(pointeur,pointeurx,pointeury)

vala, dans le principe cela doit être ça, pis après tu peux trankilou tester les collisions entre ton pointeur(sprite) et les sprites des cartes avec Spritepixelcollsion..

Publié : lun. 22/nov./2004 17:28
par lionel_om
Oui j'avais vu que l'on peut optenir els cordonnées de la souris, mais par contre je ne connais pas les pointeurs de la souris. Or je voudrais affiché la souris en plein écran (si vraiment il n'y a pas moyen, j'afficherai un sprite à cet endroit), mais je voudrai d'abord faire le plus normalement possible, avec le moins de média possible...

En tt cas, merci pour vos réponses aussi rapides !!! :D

Publié : lun. 22/nov./2004 19:16
par Backup
examinemouse()
pointeurx+mousedeltax()
pointeury+mousedeltay()
displaytransparentsprite(pointeur,pointeurx,pointeury)
c'est pas un peu compliqué ton truc ? :D

ça ça marche pas ?

Code : Tout sélectionner

examinemouse()
displaytransparentsprite(pointeur,MouseX() ,MouseY() )

:D

Publié : lun. 22/nov./2004 19:52
par Le Soldat Inconnu
Le problèmes de la collision de sprite, à mon avis, c'est que l'on peut avoir 2 sprites du fond en collision avec le sprite de la souris si celui en sur l'intersection des 2 sprites du fond ... vous suivez :lol:

le meileur principe pour moi reste le test de la position

Code : Tout sélectionner

If PointeurX > SpriteX And PointerX < SpriteX + SpriteLargeur And PointeurY > SpriteY And PointerY < SpriteY + SpriteLargeur
Et il faut faire ce test avec chaque sprite, c'est pas plus dur qu'avec un spritecollision mais éviteras certains désagrément.

Publié : lun. 22/nov./2004 20:55
par Polux
Dobro a écrit :
examinemouse()
pointeurx+mousedeltax()
pointeury+mousedeltay()
displaytransparentsprite(pointeur,pointeurx,pointeury)
c'est pas un peu compliqué ton truc ? :D

ça ça marche pas ?

Code : Tout sélectionner

examinemouse()
displaytransparentsprite(pointeur,MouseX() ,MouseY() )
:D
désolén j'ai répondu en 3 minutes, je pensais pas que c'etait un concours d'optimisation... c'etait juste pour le principe

( d'ailleurs j'ai entendu dire qu'un concours se préparait... y participerait bien moi :) )

Publié : lun. 22/nov./2004 21:03
par Chris
Polux a écrit :( d'ailleurs j'ai entendu dire qu'un concours se préparait... y participerait bien moi )
Ben non, tu peux pas....!
Faut savoir faire des jeux ! :roll: :wink:

:jesors:

Publié : lun. 22/nov./2004 22:17
par Polux
:cry: j'en ferais plus pour la peine :D

Publié : lun. 22/nov./2004 23:38
par Crystal Noir
meuh non on va en faire un libre c ce que tout le monde voulait, alors pas de pb :) Je vais organiser ca je regarde un peu qui est intéressé déjà :) si on est 3 c pas la peine :p

mais voui concours libre vala ca serait ca :) libre de présenter ce qu'on veut en purebasic, fini ou pas :) Seule chose c qu'on le lancera sur une période mais une longue période pour permettre les participants de prendre le temps de coder (plusieurs mois genre 3 mois par ex :)

Publié : mar. 23/nov./2004 0:05
par Torp
Merci pour vos réponses... Euh... même les hors-sujet... :roll:
Le problèmes de la collision de sprite, à mon avis, c'est que l'on peut avoir 2 sprites du fond en collision avec le sprite de la souris si celui en sur l'intersection des 2 sprites du fond ... vous suivez
J'avais pas pensé au problème de la double collision...(double effet kisscool?), mais si le problème se pose merci pour la soluce.

Publié : mar. 23/nov./2004 0:54
par Backup
je peut pas participer a ton concourt , je suis trop fort ! :lol:

Publié : mar. 23/nov./2004 10:45
par lionel_om
Dobro a écrit :
examinemouse()
pointeurx+mousedeltax()
pointeury+mousedeltay()
displaytransparentsprite(pointeur,pointeurx,pointeury)
c'est pas un peu compliqué ton truc ? :D

ça ça marche pas ?

Code : Tout sélectionner

examinemouse()
displaytransparentsprite(pointeur,MouseX() ,MouseY() )
:D
Ca c'est dans le cas où l'on a créé un sprite en forme de souris (ou pointeur). Donc faut avoir une image pour la substituée à la souris. mais moi je voulai savoir si on pouvait récupérer le pointeur réel de la souris pour afficher la vrai image de la souris, sans avoir a passer par un média (une image bmp par exemple). C'est Dri qui m'a dit que ca devait être possible.

pointeurx+mousedeltax()
pointeury+mousedeltay()
C'est normal ce code ???
on additionne qqchose, mais le résultat est stocké nul par ( à moins que c'est par ce que je suis un newbee en PB, mais mm en C++ ca ne veut rien dire ! :( )

Publié : mar. 23/nov./2004 10:46
par Lukky
Juste un mot pour dire que je suis d'accord avec le soldat sur le principe de la gestion du curseur.

Avec cette technique y'a aucun problème de détection et la fiabilité est sans faille, pourquoi prendre des risque avec des trucs plus aléatoires style collision.

JL