begin process at 2010 03 20 23:59:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > PETIT EFFET DE TEXTE

PETIT EFFET DE TEXTE


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Débutant Date de création :04/06/2005 Date de mise à jour :04/06/2005 17:28:26 Vu :6 318

Auteur : MaX_62

Ecrire un message privé
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)

 Sources du même auteur

SOLVEUR DE SUDOKU
Source avec une capture DERNIERS CODES SUR CODES-SOURCES
BARRE DE TEXTE DEFILANT
Source avec Zip Source avec une capture FKEYS (F1-12, CONTROL + F1-12, SHIFT + F1-12)
Source avec Zip HOROSCOPE

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

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

:)

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...

Commentaire de KiNdErMaXi le 04/06/2005 23:04:50

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

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

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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,842 sec (4)

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