begin process at 2010 03 16 09:11:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > PETITE ANIMATION GRAPHIQUE AUTOUR DU CURSEUR DANS UNE PICWIN

PETITE ANIMATION GRAPHIQUE AUTOUR DU CURSEUR DANS UNE PICWIN


 Information sur la source

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Expert Date de création :03/01/2004 Vu :5 914

Auteur : Kerrigan

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Cette astuce vous montre comment faire suivre votre curseur par des cercles. Les cercles ont une couleur aleatoire et leur diametre grossis grace a une "boucle temporelle".
Ce n'est pas d'une grande utilité, on va dire que c'est sympatique et presque amusant. Ceci dit ça peut toujours etre interessant.

Source

  • ;idée et code original de Kerrigan, optimisation par Chang-FU
  • alias cercle {
  • ;$6 coordonnée y
  • ;$5 coordonnée x
  • ;$4 durée d'execution
  • ;$3 epaisseur du cercle
  • ;$2 taille maxi des cercles
  • ;$1 nom de la fenetre
  • ;timerfin stoppe la boucle temporelle a un temps en miliseconde donné
  • ;timercercle permet de faire grossir les cercle je l'ai mis en -m 0 1 par comodité
  • ;color(background) renvoi la couleur du fond
  • $parse($1,$2,$3,$4,$5,$6)
  • hadd cercle itr 1
  • hadd cercle couleur $r(1,15)
  • window -akp +b @ $+ $hget(cercle,¤1) -1 -1 200 200
  • hadd cercle window @ $+ $hget(cercle,¤1)
  • drawdot -n @ $+ $hget(cercle,¤1) $color(background) 300 100 100
  • .timercercle -m 0 1 cercle_2 $hget(cercle,¤5) $hget(cercle,¤6)
  • .timerfin -m 1 $hget(cercle,¤4) continue
  • }
  • alias -l cercle_2 {
  • ;fonction qui trace les cercles
  • ;en fait un cercle c un point blanc plus petit qu'un point de couleur plus gros,
  • ;resultat on a un jolie cercle dont on peut definir l'epaiseur
  • if ($hget(cercle,itr) > $hget(cercle,¤2)) {
  • ;boucle qui reinitialise le processus
  • drawdot -n @ $+ $hget(cercle,¤1) $color(background) $calc($hget(cercle,itr) + $hget(cercle,¤3)) $1 $2
  • hadd cercle itr 1 | hadd cercle couleur $r(1,15)
  • }
  • drawdot -n @ $+ $hget(cercle,¤1) $hget(cercle,couleur) $calc($hget(cercle,itr) + $hget(cercle,¤3)) $1 $2
  • drawdot -n @ $+ $hget(cercle,¤1) $color(background) $hget(cercle,itr) $1 $2
  • drawline @ $+ $hget(cercle,¤1)
  • hadd cercle itr $calc($hget(cercle,itr) +1)
  • }
  • alias -l parse {
  • ;verifie les erreurs et s'il y en a renvoi alors une valeur par defaut
  • ;utile uniquement au demarage mais pour ceux qui veulent
  • ;develloper le code c bon a savoir
  • if ($hget(cercle).size > 0) { hfree cercle }
  • hmake cercle 10
  • ;etablissement des valeurs par defaut
  • hadd cercle ¤4 $iif($4,$4,30) | hadd cercle ¤3 $iif($3,$3,2)
  • hadd cercle ¤2 $iif($2,$2,20) | hadd cercle ¤1 $iif($1,$1,Cercle)
  • hadd cercle ¤5 $iif($5,$5,100) | hadd cercle ¤6 $iif($6,$6,100)
  • }
  • ;cet alias sert a faire les cercles autour du curseur a l'arret
  • ;grace au valeurs par defaut que retourne le parseur les cercles sont mis au
  • ;centre de la fenetre quand le cuseur n'est plus dans @cercle
  • alias continue { .timercercle off | $cercle(cercle,40,1,250,$mouse.x,$mouse.y) }
  • menu @cercle {
  • ;evenement qui permettent de suivre la souris tout en traçant les cercles
  • ;cercle est le nom de la fenetre
  • ;40 la taille maximum du cercle
  • ;1 est l'epaisseur du cercle
  • ;150 temps en miliseconde qui indique la duré d'execution
  • ;$mouse.x et $mouse.y renvoi la position de la souris
  • mouse : {
  • if ( !$timer(cercle) ) { $cercle(cercle,40,1,150,$mouse.x,$mouse.y) }
  • }
  • fermer Fenetre : { .timercercle off | .timerfin off | window -c $active }
  • }
;idée et code original de Kerrigan, optimisation par Chang-FU
alias cercle { 
  ;$6 coordonnée y
  ;$5 coordonnée x
  ;$4 durée d'execution 
  ;$3 epaisseur du cercle 
  ;$2 taille maxi des cercles 
  ;$1 nom de la fenetre 
  ;timerfin stoppe la boucle temporelle a un temps en miliseconde donné
  ;timercercle permet de faire grossir les cercle je l'ai mis en -m 0 1 par comodité
  ;color(background) renvoi la couleur du fond
  $parse($1,$2,$3,$4,$5,$6) 
  hadd cercle itr 1 
  hadd cercle couleur $r(1,15) 
  window -akp +b @ $+ $hget(cercle,¤1) -1 -1 200 200 
  hadd cercle window @ $+ $hget(cercle,¤1) 
  drawdot -n @ $+ $hget(cercle,¤1) $color(background) 300 100 100
  .timercercle -m 0 1 cercle_2 $hget(cercle,¤5) $hget(cercle,¤6)
  .timerfin -m 1 $hget(cercle,¤4) continue
} 

alias -l cercle_2 { 
  ;fonction qui trace les cercles
  ;en fait un cercle c un point blanc plus petit qu'un point de couleur plus gros,
  ;resultat on a un jolie cercle dont on peut definir l'epaiseur
  if ($hget(cercle,itr) > $hget(cercle,¤2)) { 
    ;boucle qui reinitialise le processus
    drawdot -n @ $+ $hget(cercle,¤1) $color(background) $calc($hget(cercle,itr) + $hget(cercle,¤3)) $1 $2 
    hadd cercle itr 1 | hadd cercle couleur $r(1,15) 
  } 
  drawdot -n @ $+ $hget(cercle,¤1) $hget(cercle,couleur) $calc($hget(cercle,itr) + $hget(cercle,¤3)) $1 $2 
  drawdot -n @ $+ $hget(cercle,¤1) $color(background) $hget(cercle,itr) $1 $2 
  drawline @ $+ $hget(cercle,¤1) 
  hadd cercle itr $calc($hget(cercle,itr) +1) 
} 

alias -l parse { 
  ;verifie les erreurs et s'il y en a renvoi alors une valeur par defaut
  ;utile uniquement au demarage mais pour ceux qui veulent 
  ;develloper le code c bon a savoir
  if ($hget(cercle).size > 0) { hfree cercle } 
  hmake cercle 10
  ;etablissement des valeurs par defaut 
  hadd cercle ¤4 $iif($4,$4,30) | hadd cercle ¤3 $iif($3,$3,2) 
  hadd cercle ¤2 $iif($2,$2,20) | hadd cercle ¤1 $iif($1,$1,Cercle) 
  hadd cercle ¤5 $iif($5,$5,100) | hadd cercle ¤6 $iif($6,$6,100)
} 

;cet alias sert a faire les cercles autour du curseur a l'arret
;grace au valeurs par defaut que retourne le parseur les cercles sont mis au
;centre de la fenetre quand le cuseur n'est plus dans @cercle
alias continue { .timercercle off | $cercle(cercle,40,1,250,$mouse.x,$mouse.y) }

menu @cercle {
  ;evenement qui permettent de suivre la souris tout en traçant les cercles
  ;cercle est le nom de la fenetre
  ;40 la taille maximum du cercle
  ;1 est l'epaisseur du cercle
  ;150 temps en miliseconde qui indique la duré d'execution
  ;$mouse.x et $mouse.y renvoi la position de la souris
  mouse : { 
    if ( !$timer(cercle) ) { $cercle(cercle,40,1,150,$mouse.x,$mouse.y) }
  }
  fermer Fenetre : {  .timercercle off | .timerfin off | window -c $active }
}

 Conclusion

Copier tout dans vos remotes ensuite :
Pour lancer la commande tapez /cercle et deplacez le curseur dans la fenetre

J'ai mis des commentaires histoire de ne pas etre perdu dans le code et pour que
vous puissiez l'adapter sans difficulté a quelque chose de plus utile

l'astuce marche quelque soit la couleur du fond ...
en jouant sur les parametre vous pouvez utiliser cette astuce comme un "focus" dans une picwin pour mettre des elements de la fenetre en evidence

si vous maitrisez le code vous pouvez toujours essayer de mettre du texte dans les cercles. Ca ne devrait pas etre trop difficil a mon avis.


J'espere que cette petite astuce vous plaira


 Sources du même auteur

CALENDRIER PERPÉTUEL EN PICWIN
Source avec une capture HOLORGE À AIGUILLE EN PICWIN
Source avec une capture PICWIN CLIPBOARD ET LISTE DE CARACTERES
Source avec Zip Source avec une capture DÉGRADÉ.H , LIBRAIRIE DE DEGRADE.
CRYPTAGE AVEC UN ENDOMORPHISME INVOLUTIF

 Sources de la même categorie

Source avec une capture ALIAS POUR TELECHARGER UNE VIDEO SUR YOUTUBE (MISE A JOUR V1... par WorldDMT
ANTI SAJOIN par Maka57
PERMET DE CHERCHER UN HOST par ACoZz
Source avec Zip SIMULATION D'UNE ROULETTE QUI TOURNE par wims
SELPOS - SELECTION ET POSITION ! par wims

Commentaires et avis

Commentaire de deliriumtribu le 03/01/2004 18:04:15

l idée etait originale au debut mais c pas cke j pensai en fait :/
dommage mais bon pour cke ta fai j met qd met un 7

Commentaire de Kolibot le 03/01/2004 19:16:39

intéressant

Commentaire de coca95 le 03/01/2004 20:09:17

c pa du tout se que je pensé....

Commentaire de dj328i le 03/01/2004 20:43:04

l'id du défie de réalisation est bonne , mais le problème c'est que ca sert a rien lol . Je dit ca parce qu'une fois la commande lancer , le window se rouvre mais le timer est tellement présent qu'on est oubliger de rester dans le windows , ont est barrer a cette fenetre , ont peut pas ferme le timer ! ont est oubliger de fermer mirc complètement pour arreter ton addon. Etant donner que tu est dans une windows , met une touche avec keyup pour arreter le timer. Ca va déja être beaucoup gagner :) . Sinon bravo pour l'id

sinon pour faire plus rapide :

on 1:keyup:*:@:{ if ($keyval == lavaleurascii) { .timercercle off | close -s@lawindow } }

Commentaire de SornDrixer le 03/01/2004 21:39:41 administrateur CS

Pour arrêter le timer, bouton droit sur le window, et "fermer fenetre" .

Pour en revenir à ta source Kerrigan, c'est pas très utile, c'est vrai, mais cela reste une animation sympa ;)

Commentaire de Kerrigan le 04/01/2004 21:30:18

Hey je constate qu'il y en a qui save lire :) d'ailleur on est pas obliger d'etre dans la fenetre pour voir les cercles puisque le parseur va remettre l'animation au centre de la window si le curseur n'est pas dans la fenetre ( cela ne marche pas si le curseur est dans le status je comprend pas pourkoi...)

Pour fermer la fenetre faite un click droit dedans et tout s'arrete.

Commentaire de Naza le 04/01/2004 21:30:29

C'est très originale mais loin d'être utile..
Pas mal

Commentaire de cilene290677 le 01/03/2004 12:02:08

Non serieu la fo qutarrete quoi!G deja deu potes qui pensait savoir programmé qui ce sont suicidé rien qu'en lisant tes sources!Celle qui les a le plus tuer c la matrice.Ch'ai pas il ont crié au miracles.Non serieu bonne tronche je sai meme pas si l'idée me serait venu .Fait en plein d'autre tu arrache mon gars

Commentaire de Kerrigan le 02/03/2004 02:54:00

je suis touché cilene290677. Je compte pas m'arreter. Dit a tes potes de pas se tuer il feront mieux de tenter des trucs de leur coté et tu sais ma seul "force" ( si on peut dire ça ) c'est d'allier mon cours de math a mes codes mirc ...
Mais bon ça m'arrive de poster des trucs nuls qui servent a rien :))

Commentaire de SkulTkiD le 24/08/2004 21:00:41

Original ...  ( je sais pas si sa vien de moi ) mais sa mouvre une  _fenêtre blanche_ et les rond naparaissent que dans celle là .....  [explication ?]

Continue comme sa tu fais du bon boulot ! :)
tchuzz ++



 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales