flash, actionscript, et mon derrière

Posté le Jeudi 8 f√©vrier 2007 à 9 h 07, Read it in english with Google

cherchez pas d’intru dans le titre, il n’y en a pas.

Je me suis dit hier soir que j’allais √©ssay√© de passer des variables javascript √† une animation Flash, alors j’ai pris pour mod√®le mon videoplayer.
J’ai r√©ussi sans trop de peine mais j’ai remarqu√© que √ßa m’√©tait un peu beaucoup de temps √† r√©cup√©rer les infos sur les fichiers du serveur. Alors j’ai voulu rectifier √ßa. malheur √† moi…

La lenteur, c’√©tait √† cause d’une class Serializer que je m’√©tait procur√© il y a longtemps et que je n’avais pas regarder plus que √ßa. Je me suis donc plong√© le nez dans le fichier Serializer.as contenant la class qui me sert √† s√©rializer mes donn√©es. D√©j√† je me suis rendu compte que l’algo √©tait un peu beaucoup foireux et qu’il fallait pas que je lui en demande trop, donc je suis aller prendre une nouvelle class directe sur sourgeforge que j’ai install√©. Et l√†, surprise, c’est encore plus lent qu’avant….

C’est pas possible il n’y aurait que des boulet qui touche √† flash ? Donc je me suis dit, vu que j’ai d√©j√† fait des fonctions Serialize pour javascript je vais l’adapter en actionscript. Impossible, actionscript 2 ne permet pas de d√©finir des variables avec la fonction eval() … Je cherhce un autre moyen… rien… L’aide fournie est fait pour les suceurs de t√©tines et induit en erreur. La fonction qu’elle me conseille : set(); alors je test :
ev = ‘[0]["label"]‘;
set(‘final’+ev, »nom du media »);
pas d’erreur… pas de variable non plus ?? et en regardant le d√©bugger je vois que ma variable s’apelle : « final[0]['label'] » non non ce n’est pas un tableau, c’est juste le nom de la variable, pratique √ßa. Donc pas moyen de d√©s√©rializer des donn√©es avec mon algo. J’ai donc remis le tout premier script √† mon grand regret…

De plus, je sais pas si vous connaissez les fichiers ASO. Ce sont des fichiers de class pr√©compiler √† partir de vos propres fichiers, stocker dans un repertoire de flash, et incluent dans l’animation finale. Par exemple vous d√©clar√© une class : import maclass.as ; flash cr√©√© un fichier maclass.ASO dans son r√©pertoire, et ne le recompile pas √† chaque fois. Donc si vous chang√© le fichier maclass.as, c’est pas pour √ßa que la classe va changer dans votre animation parce que flash reprend le fichier ASO…. √ßa c’est franchement du beau, comme si il n’√©tait pas capable de savoir si le fichier est obsol√®te ou non.

Et puis j’aime aussi cette histoire de pr√©compilation parce que vu les performances que √ßa apporte, on dirait plutot de la d√©compilation. c’est simple : 300 lignes et une cinquante d’object √† d√©s√©rializer : en javascript 2 secondes max, en actionscript… euh ben il me met l’alerte comme quoi le script est trop long avant d’en voir la fin.

A j’aillais oubli√©, j’ai √©ssay√© la m√©thode banal avec un retour de chaine urlencoded de la part du serveur, en incluant des tableaux, par exemple:
test[0]=0&test[1]=1
et bien de nouveau Flash dans son infinie incompatibilit√© me d√©finie des variables s’appelant « test[0] » et « test[1]« , c’est la fete des bits :)

Dire qu’avant j’aimais flash, c’√©tait la seul plateforme o√Ļ je pouvais me faire des animations et en meme temps des requetes serveurs sans que √ßa bug d’un navigateur √† l’autre. Mais maintenant c’est finis. √ßa ne sert plus qu’a difuser de la video m√©diocre et en petit √©cran, √† lire de la musique dans des lecteurs minuscules (voir inexistant et control√© par javascript), et √† pondre des jeux sans avenirs. Il n’y a que la fonctionnalit√© des webcams qui peut etre interressante mais vu il faut Flash Media Server derri√®re et que le (les?) serveur open source red5 n’est pas au point…

On ne m’y reprendra plus √† √©ssayer de trouver de l’innovation la o√Ļ il n’y en a pas.
Mais comment y font 2advanced ?

4 réponses à “flash, actionscript, et mon derri√®re”

  1. flash, actionscript, et mon devant… contient sur le sujet :

    [...] que mon videoplayer devient quelque peut blind√©, et vu la lenteur du au probl√®me de parsage de chaine s√©rializ√©, la situation n’allait qu’empirer.. Donc je me suis dit, je vais √©ssayer de [...]

    le Jeudi 15 février 2007 @ 11 h 53
  2. oreru

    ev = ‚Äė[0][‚ÄĚlabel‚ÄĚ]‚Äô;
    set(‚Äôfinal‚Äô+ev,‚ÄĚnom du media‚ÄĚ);

    =>

    final = []; // init un tableau
    final[0] = {}; // init un object

    ev = label;
    final[0][ev] = ‚ÄĚnom du media‚ÄĚ;

    __

    test[0]=0&test[1]=1

    =>

    test_0=0&test_1=1

    i = 1;
    trace(this['test_' + i]); // output: 1
    // trace(eval(‘test_’ add i)); pour flash lite

    faudrais creuser le langage avant de critiquer…

  3. XoraX

    Dans ce cas construit moi un parseur de requ√®te http qui respecte la syntaxe des tableaux. Ici tu ne fais que transformer les informations d’entr√©es. Tu est loin de donner la solution. Mon but n’est pas de faire passer des donner dans n’importe quel format, mon but est de faire passer des donn√©es en requ√®tte http suivant le standard. Si je voulais pas me faire chier je les passerait en xml.

    C’est comme si j’avais de l’UTF-16 en entr√©, que tu me le transformait en UTF-8 et que tu me dise « faudrait creuser le langage avant de critiquer‚Ķ ». Qu’est-ce que le peut faire √† part pouffer devant tant d’iincoh√©rence ???

  4. seb

    Faire comme moi, continuer à chercher des possibilités et fumer un gros gringo!
    parfois ça aide à trouver des réponses :P
    j’ai rien trouv√©…
    j’en roules un autre mouhahahaha
    seb

Laissez un commentaire :