Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PETIT EFFET DE TEXTE


Information sur la source

Catégorie :Astuces Niveau : Débutant Date de création : 04/06/2005 Date de mise à jour : 04/06/2005 17:28:26 Vu : 5 977

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Voici un snippet qui vous permettra de faire un petit effet de texte. Les lettres partent a tour de rôle de N espaces du bord, et se déplacent vers la gauche d'espace en espace. Le nombre d'espaces est configurable.
En fait, c'est assez délicat a expliquer, je vous laisse regarder ;)
 

Source

  • ;Alias
  • alias dtext {
  • if ($1 != $null && $2 isnum) {
  • var %m 1- $+ $calc($len($1) * $2)
  • if ($3 isnum %m) {
  • var %l $int($calc($3 / $2)) , %k $calc($3 - %l * $2)
  • return $+($left($1,%l),$str($chr(160),$iif($calc($2 - %k) == $2,0,$calc($ifmatch -1))),$mid($1,$calc(%l +1),1))
  • }
  • elseif (!$3) { return $gettok(%m,2,45) }
  • }
  • }
  • ;Exemples d'utilisation
  • alias dtext_editbox { var %i 1 , %t $1- | while ($dtext(%t,40,%i)) { editbox -a $ifmatch | inc %i } }
  • ;En tapant /dtext_editbox <texte>, le texte apparaitra en défilant dans l'éditbox de la fenêtre active. Peut être utile pour créer un effet au démarrage d'un script.
  • dialog dtext {
  • title "Exemples pour /dtext"
  • size -1 -1 140 26
  • option dbu
  • text "Cliquez sur <Faire défiler le texte> pour commencer ;)", 1, 2 3 139 8
  • button "Faire défiler le texte", 2, 11 13 56 10
  • button "Faire défiler le titre", 3, 69 13 56 10
  • }
  • on *:DIALOG:dtext:sclick:2,3:{
  • if ($did == 2) { var %i 1 , %t $did(1) | while ($dtext(%t,20,%i)) { did -ra $dname 1 $ifmatch | inc %i } }
  • elseif ($did == 3) { var %i 1 , %t $dialog($dname).title | while ($dtext(%t,30,%i)) { dialog -t $dname $ifmatch | inc %i } }
  • }
  • ;Tapez "/dialog -m dtext dtext" et testez les 2 boutons, l'un fait défiler le texte d'un ID, l'autre fait défiler la barre de titre du dialog :)
;Alias 

alias dtext { 
  if ($1 != $null && $2 isnum) { 
    var %m 1- $+ $calc($len($1) * $2) 
    if ($3 isnum %m) { 
      var %l $int($calc($3 / $2)) , %k $calc($3 - %l * $2) 
      return $+($left($1,%l),$str($chr(160),$iif($calc($2 - %k) == $2,0,$calc($ifmatch -1))),$mid($1,$calc(%l +1),1)) 
    } 
    elseif (!$3) { return $gettok(%m,2,45) } 
  } 
} 

;Exemples d'utilisation 

alias dtext_editbox { var %i 1 , %t $1- | while ($dtext(%t,40,%i)) { editbox -a $ifmatch | inc %i } } 
;En tapant /dtext_editbox <texte>, le texte apparaitra en défilant dans l'éditbox de la fenêtre active. Peut être utile pour créer un effet au démarrage d'un script. 

dialog dtext { 
  title "Exemples pour /dtext" 
  size -1 -1 140 26 
  option dbu 
  text "Cliquez sur <Faire défiler le texte> pour commencer ;)", 1, 2 3 139 8 
  button "Faire défiler le texte", 2, 11 13 56 10 
  button "Faire défiler le titre", 3, 69 13 56 10 
} 
on *:DIALOG:dtext:sclick:2,3:{ 
  if ($did == 2) { var %i 1 , %t $did(1) | while ($dtext(%t,20,%i)) { did -ra $dname 1 $ifmatch | inc %i } } 
  elseif ($did == 3) { var %i 1 , %t $dialog($dname).title | while ($dtext(%t,30,%i)) { dialog -t $dname $ifmatch | inc %i } } 
} 
;Tapez "/dialog -m dtext dtext" et testez les 2 boutons, l'un fait défiler le texte d'un ID, l'autre fait défiler la barre de titre du dialog :) 

Conclusion

Utilisation :

$dtext(<texte>,<nombre>,<N>)

<texte> est le texte a faire défiler.
<nombre> est le nombre d'espaces que devront parcourir les lettres avant d'arriver a leur place normale.
<N> sert a retourner la Nième étape dans le déroulement de l'animation. Si <N> vaut zéro ou n'est pas spécifié, retourne le nombre total d'étapes.

Comme vous l'avez compris, cet alias seul ne sert a rien, car il ne retourne qu'une seule étape de l'animation. Il faut donc l'adapter à l'aide d'une boucle. Je vous ai donc fourni 2 exemples d'utilisation avec le code ;)



 

Historique

04 juin 2005 17:25:32 :
- Erreur lors du copier/coller :p
04 juin 2005 17:28:26 :
Erreur (bis)

Commentaires et avis

signaler à un administrateur
Commentaire de tofu le 04/06/2005 17:56:23

ça pourrait être sympa à combiner ça ek ton truc de texte défilant ds une picture window

signaler à un administrateur
Commentaire de wims le 04/06/2005 18:07:21

J'aime bien cependant juste une remarque :
if ($1 != $null && $2 isnum) {
>>
if ($1 && $2 isnum) {

:)

signaler à un administrateur
Commentaire de MaX_62 le 04/06/2005 19:03:20

wims > if ($1 != $null) et if ($1) c'est pas le même...
Si $1 == 0, alors "if ($1 != $null)" est faux alors que "if ($1)" est vrai... Compris ? :]
tofu > merci, pas bête j'vais y réfléchir...

signaler à un administrateur
Commentaire de KiNdErMaXi le 04/06/2005 23:04:50

en tout cas, ca va vite :x et ca clignote :(

signaler à un administrateur
Commentaire de Exagone le 03/07/2007 18:23:42

je trouve sa bien , meme remarque que kindermaxi :)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.