begin process at 2008 08 30 12:19:41
1 234 003 membres
37 nouveaux aujourd'hui
14 294 membres club

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 443

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 ;)


04 juin 2005 17:25:32 :
- Erreur lors du copier/coller :p
04 juin 2005 17:28:26 :
Erreur (bis)
  • 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

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS