begin process at 2008 05 16 06:39:45
1 173 219 membres
61 nouveaux aujourd'hui
13 970 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 !

DRAWANIM


Information sur la source

Catégorie :AddOns Classé sous : animation, drawanim, picwin, automone, images Niveau : Débutant Date de création : 27/04/2006 Date de mise à jour : 28/04/2006 15:35:18 Vu / téléchargé: 1 313 / 103

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

Ceci vous permet d'afficher des animations sur des picwin de la même manière que pour un drawpic
il vous est possible d'afficher autant d'animations que vous voulez. elles s'afficheront de façon autonome.
la transparence est gérée (fuschia $rgb(255,0,255)): pratique avec des fonds non unis.
possibilité de mettre en pause ou d'effacer l'animation.
les animations sont des fichiers comportant toutes les phases l'une en dessous de l'autre. tous les formats d'image sont supportés du momment que mirc les suporte

une seule commande /drawanim avec des paramètres

un exemple et une aide sont fournies

Source

  • alias drawanim {
  • if $hget(anim) != anim { hmake anim 100 }
  • if $1 == -p {
  • if $window(@ $+ $2) { .timer $+ $2 -p }
  • else echo -a 2* /drawanim: invalid animation name
  • }
  • elseif $1 == -r {
  • if $window(@ $+ $2) { .timer $+ $2 -r }
  • else echo -a 2* /drawanim: invalid animation name
  • }
  • elseif $1 == -c {
  • if $window(@ $+ $2) {
  • var %cache @ $+ $2 $+ cache
  • .timer $+ $2 off
  • tokenize 32 $hget(anim,$2)
  • hdel anim $3
  • drawcopy %cache 0 0 $window(%cache).w $window(%cache).h $2 $5-8
  • window -c @ $+ $3
  • window -c %cache
  • }
  • else echo -a 2* /drawanim: invalid animation name
  • }
  • elseif $1 == -i {
  • if $window(@ $+ $2) {
  • if ($3 isnum) && ($3 > 0) {
  • var %vitesseanim $3
  • tokenize 32 $hget(anim,$2)
  • hadd anim $3 $1-3 %vitesseanim $5-10
  • .timer $+ $3 -om 0 %vitesseanim playanim $3
  • }
  • else echo -a 2* /drawanim: intervalle not valide
  • }
  • else echo -a 2* /drawanim: invalid animation name
  • }
  • elseif $window($2) {
  • if $window(@ $+ $3) != @ $+ $3 {
  • if $chr(32) !isin $9 {
  • if $exists($9) == $true {
  • if $len($hget(anim,$3)) == 0 {
  • if ($4 > 0) && ($4 isnum) {
  • if ($5 isnum) && ($6 isnum ) && ($7 isnum) && ($8 isnum) {
  • hadd anim $3 $1-9 0
  • window -pkodhnBf +dL @ $+ $3 0 0 $7 $pic($9).height
  • window @ $+ $3 0 0 $7 $pic($9).height
  • drawpic -s @ $+ $3 0 0 $9
  • window -pkodhnBf +dL @ $+ $3 $+ cache 0 400 $7 $8
  • drawcopy $2 $5-8 @ $+ $3 $+ cache 0 0
  • playanim $3
  • .timer $+ $3 -om 0 $4 playanim $3
  • }
  • else echo -a 2* /drawanim: intervalle not valide enter number value
  • }
  • else echo -a 2* /drawanim: intervalle not valide enter positive number
  • }
  • else echo -a 2* /drawanim: animation name already exists
  • }
  • else echo -a 2* /drawanim: file $9 not found
  • }
  • else echo -a 2* /drawanim: enter filename without space
  • }
  • else echo -a 2* /drawanim: invalid animation name, a window use this name
  • }
  • else echo -a 2* /drawanim: invalid window
  • }
  • alias playanim {
  • tokenize 32 $hget(anim,$1)
  • if $window($2) {
  • var %cache @ $+ $3 $+ cache
  • if ($1 == -t) {
  • drawcopy -n %cache 0 0 $window(%cache).w $window(%cache).h $2 $5-8
  • drawcopy -t @ $+ $3 $rgb(255,0,255) 0 $10 $7-8 $2 $5-8
  • }
  • else drawcopy @ $+ $3 0 $10 $7-8 $2 $5-8
  • if ($calc($10 + $8) < $pic($9).height) hadd anim $3 $1-9 $calc($10 + $8)
  • else hadd anim $3 $1-9 0
  • }
  • else {
  • .timer $+ $3 off
  • hdel anim $3
  • window -c @ $+ $3
  • window -c @ $+ $3 $+ cache
  • }
  • }
alias drawanim {
  if $hget(anim) != anim { hmake anim 100 }
  if $1 == -p {
    if $window(@ $+ $2) { .timer $+ $2 -p }
    else echo -a 2* /drawanim: invalid animation name
  }
  elseif $1 == -r {
    if $window(@ $+ $2) { .timer $+ $2 -r }
    else echo -a 2* /drawanim: invalid animation name
  }
  elseif $1 == -c {
    if $window(@ $+ $2) {
      var %cache @ $+ $2 $+ cache
      .timer $+ $2 off
      tokenize 32 $hget(anim,$2)
      hdel anim $3
      drawcopy %cache 0 0 $window(%cache).w $window(%cache).h $2 $5-8
      window -c @ $+ $3
      window -c %cache
    }
    else echo -a 2* /drawanim: invalid animation name
  }
  elseif $1 == -i {
    if $window(@ $+ $2) {
      if ($3 isnum) && ($3 > 0) {
        var %vitesseanim $3
        tokenize 32 $hget(anim,$2)
        hadd anim $3 $1-3 %vitesseanim $5-10
        .timer $+ $3 -om 0 %vitesseanim playanim $3
      }
      else echo -a 2* /drawanim: intervalle not valide
    }
    else echo -a 2* /drawanim: invalid animation name
  }
  elseif $window($2) {
    if $window(@ $+ $3) != @ $+ $3 {
      if $chr(32) !isin $9 {
        if $exists($9) == $true {
          if $len($hget(anim,$3)) == 0 {
            if ($4 > 0) && ($4 isnum) {
              if ($5 isnum) && ($6 isnum ) && ($7 isnum) && ($8 isnum) {
                hadd anim $3 $1-9 0
                window -pkodhnBf +dL @ $+ $3 0 0 $7 $pic($9).height
                window @ $+ $3 0 0 $7 $pic($9).height
                drawpic -s @ $+ $3 0 0 $9
                window -pkodhnBf +dL @ $+ $3 $+ cache 0 400 $7 $8
                drawcopy $2 $5-8 @ $+ $3 $+ cache 0 0
                playanim $3 
                .timer $+ $3 -om 0 $4 playanim $3
              }
              else echo -a 2* /drawanim: intervalle not valide enter number value
            }
            else echo -a 2* /drawanim: intervalle not valide enter positive number
          }
          else echo -a 2* /drawanim: animation name already exists
        }
        else echo -a 2* /drawanim: file $9 not found
      }
      else echo -a 2* /drawanim: enter filename without space
    }
    else echo -a 2* /drawanim: invalid animation name, a window use this name
  }
  else echo -a 2* /drawanim: invalid window
}

alias playanim {
  tokenize 32 $hget(anim,$1)
  if $window($2) {
    var %cache @ $+ $3 $+ cache
    if ($1 == -t) {
      drawcopy -n %cache 0 0 $window(%cache).w $window(%cache).h $2 $5-8
      drawcopy -t @ $+ $3 $rgb(255,0,255) 0 $10 $7-8 $2 $5-8
    }
    else drawcopy @ $+ $3 0 $10 $7-8 $2 $5-8
    if ($calc($10 + $8) < $pic($9).height) hadd anim $3 $1-9 $calc($10 + $8)
    else hadd anim $3 $1-9 0
  }
  else {
    .timer $+ $3 off
    hdel anim $3
    window -c @ $+ $3
    window -c @ $+ $3 $+ cache
  }
}

Conclusion

Télechargez plutot le zip, un exemple bien concrêt y est mis avec des animations.

pour charger l'addon faire load -rs drawanim.mrc

pour charger l'exemple faire load -rs exemple.mrc (situé dans le dossier exemple)
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

28 avril 2006 15:29:57 :
Ajout de la possibilité de modifier la vitesse de l'animaition pendant qu'elle joue
28 avril 2006 15:35:18 :
j'avais laissé des trucs qui servent à rien dedans
  • signaler à un administrateur
    Commentaire de Benjamin37 le 28/04/2006 10:31:40

    C'est pas mal ! Je trouve ça original !


    Note : 8/10

  • signaler à un administrateur
    Commentaire de fjxokt le 28/04/2006 11:15:11

    simple mais il fallait y penser !
    Le fait d'avoir rendu le tout dynamique est très bien trouvé, et associé a une gui (bon ok ça c'est plus chaud à faire), ton code pourrait faire des merveilles (boutons ou fonds animés, etc)
    Juste un petit truc: il aurait été bien que l'on puisse modifier la vitesse d'une animation alors même qu'elle est affichée
    9/10

  • signaler à un administrateur
    Commentaire de Bestdoud le 28/04/2006 15:07:36

    Je vais penser à le rajouter

    j'ai l'tontention de me servir de ça pour en faire un archanoïd. biensur en ajoutant des trucs comme le déplacement de l'animation, l'accélération, les rebonds
    plein d'animations avec des trucs qui tombes.

    le plus chiant c'est de gérer les collisions.

Ajouter un commentaire

Discussions en rapport avec ce code source

Affichage d'images par pitivier57

Une question de skins ... par Arnaout

q l s question par Lonsdale^

pickup script par Lonsdale^

Dégradé par Bloock

vhost par Lonsdale^

Images dans MIRC par Sibelle07

Aide Socket & picwin par _VeSpArO_

Bot d'animation par nightmar

A laide , mon script marche pas par Spidored

Appels d'offres

Pub



Snippets en rapport

CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS