Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la charte sera déplacé, modifié, ou supprimé par nos modérateurs.

Forum Langages » BASIC » Déplacement d'image avec la souris fait avec "DRAW"

Siska
ProgBoarder
Citer Windows XP Firefox 2 - Posté le 04/03/2008 à 14:12
bonjour,
Je cherche actuellement comment utiliser un dessin fait avec la fonction "DRAW",
pour l'utiliser comme curseur, et que je puisse m'en servir comme un personnage
dans un jeu, et ainsi qu'il se déplace en suivant la souris.

PS : J'ai trouver un post sur le Forum qui parle déjà de ça mais malheureusement je n'ai trouver aucun code à utiliser pour régler mon problème.

Salutation, et merci d'avance.
Siska
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
Freem
Modérateur
RemonterCiter Windows XP Firefox 2 - Posté le 04/03/2008 à 15:22
En fait, DRAW te permet de dessiner selon une chaine que tu lui passes...

Pour utiliser un dessin comme curseur ou comme personnage, il vaudrait mieux que tu regardes les instructions GET et PUT graphiques, qui te permettent d'enregistrer un dessin en mémoire et de le réutiliser à volonté...
Pour qu'il se déplace avec la souris, il faut que tu commences par masquer le curseur, ce qui peut se faire avec la fonction INTERRUPT.
Mais rassures moi, tu sais déjà utiliser la souris, ou tu es en train d'apprendre à le faire?
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin
Siska
ProgBoarder
RemonterCiter Windows XP Mozilla 5 - Posté le 04/03/2008 à 17:48
Bonjour Freem,

Pour se qui est des instructions GET et PUT graphiques je vais voir ça,mais pour la fonction INTERRUPT je ne l'utilise pas.
Je te met le lien vers le site où j'ai récupéré une routine de support souris pour que mon programme puisse être utilisé sur n'importe quel QBasic (je pense que tu connais déjà ce site (sourire)),ah oui j'oublié au lancement de mon programme le curseur est masquer par default.

http://www.cybwarrior.com/FR/QBasic-Le-langage-machine-et-la-souris.html

PS : Désolé je suis encore novice en QBasic, donc je suis en train d'apprendre. (clein d'oeil)
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
Freem
Modérateur
RemonterCiter Windows XP Firefox 2 - Posté le 05/03/2008 à 09:43
Ah... c'est bien ce qu'il me semblait, tu apprends encore (quoique, quel que soit notre niveau, on apprend tous encore, je pense... c'est ce qui fait la beauté de la programmation)

Bon, ensuite, si tu as déjà du code pour gérer la souris, il te suffit de faire dans la boucle principale de ton programme (ou celle qui gère les évènement, qui est donc appellée le plus fréquemment:
_afficher le sprite d'effacement (tu obtiendras donc l'écran sans curseur)
_enrigistrer la la nouvelle position du sprite d'affichage (donc, de la souris, dans ton cas)
_enregistrer la portion d'écran qui sera sous le curseur (sprite d'effacement)
_afficher le sprite d'affichage à la nouvelle position

D'ou l'intérêt de GET et PUT qui te permettent de gérer des sprites (des images plus petites que l'écran) très facilement.
J'ai détaillé au maximum l'algorithme, mais pas le code, car si je te donnais directement le code, ça ne serai pas vraiment t'aider (clein d'oeil) mais te faire le boulot, et tu n'apprendrais donc pas (langue)

Si tu as le moindre problème, n'hésites pas à revenir.
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin
Siska
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 13/03/2008 à 12:01
Bonjour,

J'ai étudier la question du déplacement de l'image avec la souris comme tu me l'as si bien expliquer Freem, et finalement j'ai décidé de faire le déplacement via le clavier (sourire).
Bref si je poste se message c'est pour savoir si il est possible de faire une rotation du curseur (donc mon image qui me sert de curseur avec le clavier)via la souris et assez fluide si possible, bien sur j'ai déjà cherché sur le net mais malheureusement je n'ai rien trouvé de concret (désapprouve).
J'espère avoir était assez clair dans mes propos.

Si vous avez une petite idée sur la question je suis preneur (héhé.

Salutation, et merci d'avance.
Siska
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
Freem
Modérateur
RemonterCiter Windows XP Firefox 2 - Posté le 13/03/2008 à 12:36
Je ne suis pas sûr de bien comprendre ce que tu veux, en fait.
Tu veux que ton image tourne en fonction de ce que tu fais avec la souris?
Hé bien, là, en QB, il va falloir que tu réécrives en quelques sorte la fontion put, car sinon, tu l'as dans le ...
Il vas falloir que tu calcules la nouvelle position de chaque pixel en fonction d'un angle.
Pour ce qui est de la fluidité, je ne te promet rien, mais les machines actuelles sont tellement plus performantes qu'il y à 15 ans que ça devrait être gérable.
Pour calculer les position, tu vas avoir besoin de trigonométrie... sinus et cosinus vont être tes seules armes, je crois.
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin
Siska
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 18/03/2008 à 21:48
Oui c'est tout à fait cela mais malgré les bonnes idées que tu m'as donné je n'ai pas réussi à faire se que je voulais.
Donc, j'ai pensé que peut être se serait plus simple de dire a mon programme de charger une image via la direction que prend la souris pour essayer d'avoir le même résultat, seul petit inconvénient il faudrait re-dessiner le dessin dans toutes les direction (cela ne me dérange pas).
Malheureusement dès qu'il faut trifouiller les commandes de la souris je suis perdu (désapprouve),ce qui n'est pas faute d'avoir essayer.

En clair se que je voudrais réussir à faire c'est quand je déplace ma souris à droite, mon programme charge l'image que j ai choisis et non déplacer mon curseur vers la droite, et ainsi de suite pour les autres directions.

Salutation,
Siska

Edité par Siska ( 18/03/2008 21:49:30 )
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
Freem
Modérateur
RemonterCiter Windows XP Firefox 2 - Posté le 19/03/2008 à 10:17
Pour pas que la souris bouge, tu peux tout simplement la masquer (intéruption 1 ou 2, de souvenir).

Sur quoi tu bloques, exactement?
Tu n'arrives pas à quoi? Au pire, tu peux poster ton code sur le wall (clein d'oeil)
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin
Siska
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 19/03/2008 à 11:36
Pour le code ne sachant pas encore utiliser votre wall (héhé, j'ai heureusement eu de la chance, j'en ais trouver un sur votre forum qui mis a part les noms de variables qui différent et autre est le même.

Je te met donc le lien :

Wall (118) : Afficher le code source - Ouvrir dans une nouvelle fenêtre


Sinon la ou je bloque c 'est un peut tout (désapprouve) , je ne vois pas du tout comment m'y prendre pour modifier les fonction de la souris pour qu'il me charge mon image.
j'avais dans l'idée d'utiliser GET et PUT pour charger l'image et d'utiliser IF, THEN etc ... pour se qui est du choix de l'image lors du déplacement, mais je ne vois pas trop comment m'y prendre ...

J'espère avoir était assez clair.

Salutation,
Siska

Apparemment le lien du wall c est mis comme il faut (langue)

Edité par Siska ( 19/03/2008 11:38:31 )
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr
Freem
Modérateur
RemonterCiter Windows XP Firefox 2 - Posté le 19/03/2008 à 12:42
Oui, le système du wall est bien fait (sourire)
On peut remercier neliger, sur ce point (clein d'oeil)
D'ailleurs, je vient d'en faire une description succincte ici:
http://www.progboards.com/sujet-1577_utilisation_du_wall.php


Pour ce qui est de modifier les fonctions de la souris, tu ne parles bien que du dessin, j'espère? Sinon, il vas te falloir les recoder.
Pour les IF, c'est également comme ça que j'aurais probablement fait.
Mais je ne peut pas t'aider car j'ignore qu'elles sont les rêgles qui te permettent de déterminer quel sprite tu utilises pour tel ou tel mouvement.
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin
Siska
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 19/03/2008 à 19:52
Oui je ne parle que du dessin étant déjà un novice en la matière en terme de programmation, je ne compte pas encore m'aventuré dans le ré-encodage (héhé.

Salutation,
Siska
Formes de Découpe, Outils Coupants pour l'imprimerie sur http://www.diemakerform.fr

Poster une réponse

STOP aux fautes volontaires !
Message
Formatage
Note: pour partager du code source, merci d'utiliser le wall !
Smileys (sourire) (yekyek) (clein d'oeil) (désapprouve) (triste) (cool) (langue) (confus) (gêné) (neutre) (eek) (surpris) (diable) (flèche) (exclamation) (question) (diable) (idée) (méchant)
Pseudonyme
Recopiez le code
v6 © Computaid SPRL 2005-2008 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,375 s - Crédits - Stats
1 connecté