Outils "main"

[Résolu]
Signaler
Messages postés
31
Date d'inscription
jeudi 2 août 2007
Statut
Membre
Dernière intervention
19 avril 2009
-
Messages postés
31
Date d'inscription
jeudi 2 août 2007
Statut
Membre
Dernière intervention
19 avril 2009
-
Bonjour à tous,
Je développe un jeu ( du style LineRider).L'editeur que j'ai créé se compose d'une form avec différents outils (crayon ligne gomme...ect).
Mais je veux aussi créer un outil "main" pour parcourir la "carte".
Comment faire sans avoir à gérer une collection qui mettrait 10 secondes à s'actualiser (peu importe le controle utilisé...form, picture...)

 Ma
tvit
c
h

3 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
salut

linerider? connais pas....

beh tout dépend de "comment" tu dessines ton image
pour déplacer çà sera du mouse_mouse si boutton voulu enfoncé

restera a voir "comment" dessiner (je me répète non ? ^^)
tu auras l'embarras du choix, çà dépend... : du paintpicture, du bitblt, du directx, du tableau avec DIB, du GDI+, ....

tout çà dépend de ton code existant
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
31
Date d'inscription
jeudi 2 août 2007
Statut
Membre
Dernière intervention
19 avril 2009

Salut PCPT

Tu cherches "line rider"  sur google ( desolé pour les autres moteurs ^^) , tu trouveras 36000 sites de ce "jeu" programmé en flash (je précise que j'ai dis " du style LineRider "...).

Voici le bout de code (presque integral) des 2 outils que j'ai créé : le crayon et la gomme.




**********************************




Option Explicit


Dim Couleur As Long             'Couleur (noir ou blanc) entre 0 et 16777215
______________________________________________________________





Private Sub ImgCray_Click()

Couleur = 0
Form1.DrawWidth = 2
'Couleur noire et épaisseur 2

End Sub
_________________________________________________________________

Private Sub ImgGom_Click()

Couleur = 16777215
Form1.DrawWidth = 15
'Couleur blanc et épaisseur15

End Sub
_________________________________________________________________

Private Sub Form_MouseDown(Button
As Integer, Shift
As Integer, X
As Single, Y
As Single)

CurrentX = X
CurrentY = Y
'Actualise la nouvelle position de la souris pour ne pas lier le trait à la position précédente (mettez le en commentaire vous verrez... :p)

End Sub
_________________________________________________________________

Private Sub Form_MouseMove(Button
As Integer, Shift
As Integer, X
As Single, Y
As Single)

If Button Then Line -(X, Y), Couleur             'Dessine le trait

End Sub



**********************************







 Et voilà! je rajouterais plus tard les outils "ligne" et "loupe" ( pour ça je pense me débrouiller).
Comme tu peux le voir, mouse_move + bouton et déja pris, il faut donc un booléen, peut-être mon code et il mal structuré...(je le crois ^^)
Merci d'avance de vos réponses !

 Ma
tvit
c
h
Messages postés
31
Date d'inscription
jeudi 2 août 2007
Statut
Membre
Dernière intervention
19 avril 2009

Salut !
J'ai réussi en dessinant sur une picture plus grande que la form avec la propriété Autoredraw = true... :)

Ma
tvit
c
h