projets/rebol_flash_dialect.txt · Dernière modification: 05/04/2007 17:07

EN: rebol.com - rebol.org - rebol.net -
FR: Rebol Documentation Project - forum RebelBB - rebol-france.org - forum codeur -

 

Rebol Flash Dialect Documentation

But de cette page: Documenter en français, et documenter tout court, ce merveilleux dialect, sous exploité par manque d’info.

Voir également avec la nouvelle version ici:

Par où commencer ?

par parcourir le site, et télécharger ce qu’il faut… !! à compléter…

FAQ

Traduction française de http://oldes.multimedia.cz/swf/faqs.html

:!: à relire et vérifier

Est il possible de produire des fichiers swf compressés ?

Oui. Si vous produisez des swf supérieurs à la version 5 et que vous utilisez le script %make-swf.r plus récent que le 21-9-2003 vous pouvez produire des fichiers compressés en utilisant le paramètre

compressed: true

dans l’entête du fichier de dialect, ou en utilisant :

make-swf/save/compressed %mx-somefile

Vous devez savoir qu’en utilisant des fichiers compressés, vous allez probablement perdre la possibilité de réaliser un streaming de ce fichier (le fichier doit être completement chargé pour être décompressé et utilisé).

Comment créer un executable indépendant, à partir d'un fichier swf ?

Utilisez le script %make-projector.r ainsi :

do %make-projector.r
write/binary %/j/test/jukebox.exe make-projector %jukebox.swf

Quel script implémente le dialect ? Que font les autres scripts ?

Voici une liste des principaux fichiers inclus dans le fichier %make-swf.zip

  • %make-swf.r - Le fichier principal du dialect, qui requiert ces fichiers pour fonctionner : %swf-tag-rules.rb et %actions.r
  • %swf-tag-rules.rb - Fichier où l’on trouve les règles de parsing pour les mots principaux de swf, comme par exemple ‘shape ou ‘sprite
  • %actions.r - qui est le fichier responsable des actions de compilation du dialect (particulièrement les blocs après le mot ‘DoAction)
  • Si vous avez besoin de convertir des bitmaps vers le format bll utilisé dans les fichiers swf, vous devez lancer img-to-bll.r ou img-to-bll2.r (cela dépend de la version de view utilisée).
  • %sound-fce.r - utilisé pour inclure des sons dans les fichiers swf
  • %extended-image.r - fichier utilisé seulement pour des utilisations spéciales, et qui n’est pas recquis la plupart du temps.
  • Pour fixer les bugs dans quelques anciennes versions de rebol, il y a le script %debase-path.r de brett@codeconscious.com est inclu dans l’archive.
  • %exam-swf.r - fichier utilisé pour décompiler des fichiers existants. (a été créé pour vérifier que le compilateur fonctionnait correctement).
  • %exam-swf-mod.r est supposé remplacer le script %exam-swf.r qui affiche simplement les informations au lieu de retourner des informations valables (ce script n’est pas fini actuellement).
  • %analyse-swf.r est juste une expérimentation, et n’est pas fini non plus.

Qu'est-ce qu'un fichier bin ?

Les fichiers *.bin sont des binaires qui contiennent les exécutables des projecteurs flash pour windows (dépend de la version de flash dont vous avez besoin). Vous avez besoin de ces fichiers si vous souhaitez fabriquer des fichiers executables à partir du dialect (ou n’importe quel fichier swf). Pour faire cela, vous avez simplement besoin du script %make-projector.r qui ne fait rien d’autre que réunir le contenu du fichier swf compilé avec le bon fichier bin.

Est-ce que les fichiers swfpr4/5/6-win.bin sont les générateurs pour respectivement des swf Flash 4/5/6?

Voir la réponse précédente. Ces fichiers ne sont nécessaires que si vous souhaitez produire des fichiers exe à partir de fichiers swf.

Est-ce que "projecteur" est le mot que vous utilisez pour "générateur" ?

Non. C’est simplement un interpreteur flash indépendant, qui est capable de lancer des fichiers swf sans que le plugin flash soit installé.

Est-ce que make-swf ou make-swfprojector peuvent être utilisés comme des utilitaires indépendants pour produire des fichiers swf, ou sont-ils prévus pour être utilisés comme des composants coté serveur ?

Oui. J’utilise make-swf pour créer mes applications flash. Je n’utilise le make-projector seulement pour convertir des fichiers compilés en fichiers exe.

Je n’utilise pas ce script coté-serveur, car je n’ai pas à le faire (si c’est possible, je préfère créer du contenu dynamique sur le client à partir des données, mais il est bien entendu possible d’utiliser make-swf coté serveur).

Si vous avez besoin de créer du contenu dynamique coté serveur, je penserais plutôt à quelque chose comme un pre-compilateur, ainsi seulement les données nécessaires seraient compilées à la demande, mais comme je l’ai dit, je n’en ai pas besoin.

La seule raison que je vois, pour que vous souhaitiez utiliser le coté serveur, est de contourner les limitations de sécurité de flash, en ce qui concerne le chargement de variables en provenance de domaines différents. Cela signifie qu’à la place de charger les variables en utilisant LoadVars dans l’action script, vous pourriez charger dynamiquement le fichier qui continendrait vos variables. C’est l’un des exemples pour lesquels je souhaiterais faire un script spécial pour gérer ce cas.

Est-ce que cela fonctionne sur tout les OS sur lesquels rebol tourne ?

Oui. Je n’ai pas testé cela. Mais cela doit fonctionner car le système est indépendant. Je n’utilise aucune bibliothèque d’aucune sorte, même si cela devrait accélerer certaines choses. Je n’ai pas non plus de rebol/view/pro ou d’autres versions commerciales de rebol.

Pouvez-vous me donner un exemple de ligne de commande, que vous entrez en rebol pour créer un swf ?

Dans mon fichier %user.r j’ai ceci :

go:
make object! [
    swf: func [/init][
        change-dir %path_to_dir_with_all_files/swf/
        if init [
            do %make-swf.r
            do %exam-swf.r
            do %jpg-analyse.r
            do either system/version > 1.2.2 [%img-to-bll2.r] [%img-to-bll.r]
            do %extended-image.r
        ]
        what-dir
    ]
    ;more paths...
]

ensuite, quand je souhaite travailler avec ces fichiers, je saisi cela dans la console :

>> go/swf/init

Pour compiler quelque chose, je fais par exemple :

>>swf-bin: make-swf %swf-star2.rswf

ou plus souvent:

>>make-swf/save %swf-star2

ce qui enregistrera le fichier swf compilé à l’endroit indiqué par l’entete du rswf, ou:

>>make-swf/save/to %swf-star2 %/c/star.swf

Si vous souhaitez travailler avec des fichiers déjà compilés, vous pouvez utiliser par exemple ceci :

get-all-assets: func[
        {Returns all assets IDs found in the SWF file (require %exam-swf.r)}
        swf-file /local a
][
        swf-bin: read/binary swf-file
        swf-bin: skip swf-bin 21
        assets: make block! []

        foreach-tag swf-bin [
                tagid: tag
                tag-bin: data
                switch tagid [
                        56      [
                                ;saving the tag to file
                                a: parse-Assets
                                if none? find assets a/2 [append assets a/2]
                        ]
                ]
        ]
        assets
]
>>  get-all-assets %star.swf
ImportingAssets "niceStar" from 1
== ["niceStar"]

Où puis-je trouver plus d'informations à propos du format de fichier swf ?

Depuis le début, j’utilise la specification qui est donnée par Macromédia dans leurs pages web. (Vous devez vous enregistrer pour télécharger, mais c’est gratuit).

Pourquoi de pas utiliser de l'ActionScript dans DoActions?

Parce que rebol n’est pas capable de charger du contenu avec des virgules ‘,’ :-(

Est-il possible d'utiliser une bibliothèque C pour faire les fichiers swf (par exemple Ming) avec ce dialect ?

Oui. Mais cela doit nécessiter une version commerciale de Rebol (au moins Rebol/View/Pro) qui soit capable de travailler avec les bibliothèques. Je n’ai pas ces version, donc je ne peux pas tester à quel point cela pourrait accélérer certaines choses.

 
  projets/rebol_flash_dialect.txt · Dernière modification: 05/04/2007 17:07
 
Fil RSS: Recent changes RSS feed
Valid XHTML 1.0 Valid CSS Powered by PHP Driven by DokuWiki
Hébergement par Spinodo