Faire tourner un contrôle en cercle

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 062 fois - Téléchargée 58 fois

Contenu du snippet

Pour cette source ce sont des points qui tournent mais c'est possible de faire tourner un contrôle VB. En plus en modifiant quelques chiffres ca donne des animations incroyables !(voir code)

Source / Exemple :


Dim PosX As Long, PosY As Long, angle As Long, Num As Long

Private Sub Timer1_Timer()
PosX = PosX + Cos(angle / (360 / 50)) * 100
PosY = PosY + Sin(angle / (360 / 50)) * 100 'en mettant un chiffre différent
'''''''''''''''''''''''''''''''''''''''''''(a la place de 500)ca trace un cercle ovale
'pour des effets surprenants changer les chiffres 50 et 500
'sur l'une ou les deux lignes !!

angle = angle + 1 'angle qui permet de tracer le cercle
'pour changer le rayon, modifier le 1

Form1.PSet (PosX + 4000, PosY + 1000), RGB(Int(Rnd * 254) + 1, Int(Rnd * 254) + 1, Int(Rnd * 254) + 1)
'4000 et 1000 representent les coordonnées
'du cercle PosX = Left, PosY = Top
'''''RGB(Int(Rnd * 254) + 1, Int(Rnd * 254) + 1, Int(Rnd * 254) + 1)
'''''sert à avoir une couleur au pif pour plus d'infos
'''''voir mon site "www.chez.com/adispagne/Page1Un.htm"
'''''rubrique "Tuturiel VB"

''''''Si vous avez un probleme ou des questions
''''''n'hesitez pas à m'ecrire à cramer@libertysurf.fr
''''''(disponible via mon site internet; adresse au dessus)
End Sub

Conclusion :


J'espere que ca vous aidera pour vos progs. Pour d'autres codes délires venez sur http://www.chez.com/adispagne/Page1Un.htm

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
23 juillet 2006

c'est joilie bonne chance camarade
Messages postés
155
Date d'inscription
mardi 7 août 2001
Statut
Membre
Dernière intervention
30 janvier 2008

Ouais c'est ce que je vous disais dans mes anciennes sources :P sauf que j'avais pas utiliser l'api setpixel :(
Messages postés
592
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2008

Tres bien
Messages postés
693
Date d'inscription
samedi 18 mai 2002
Statut
Membre
Dernière intervention
17 avril 2017
2
OK, mais :

1) il faut declarer Static angle as Integer dans la routine (ou Dim angle% dans la section de declaration) sinon a chaque appel du timer angle=0

2) pour avoir un plus beau cercle il faut convertir les degres en radians:
PosX PosX + Cos(angle / ((360 / 50) * PI /180 )) * 100 ou PI 4*ATN(1)
ou bien radian= 4 * ATN(1) / 180 et
PosX = PosX + Cos(angle / ((360 / 50) * radian)) * 100

Pourquoi calculer toujours 360 / 50 alors que Const k= 7.2 irait plus vite
Utilisez aussi l'API SetPixel pour dessiner plus rapidement.

Bien amicalement de Cheyenne.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.