Flash/PHP/Mysql - Partie 4: Formatter brievement du texte
Comme à mon habitude je cherche toujours compliqué avec des Font objects et compagnie ... En fait il y a une technique bien plus simple de formater du texte ... une technique vieille comme le monde ... le HTML + CSS ....
Bref comment ça marche ? Toujours dans notre famework, on va ajouter un fichier css /files/css/stylesFlash.css dedan on y met :
h2 { color:#FF0000; font-weight:bold; } p { color:#0000FF; font-style:italic; }
Les couleurs du style red et compagnie ça fonctionne pas il veut bien du RGB et rien d'autre ... ensuite comme on a fait une belle redirection en URL rewriting on peut pas accéder à un fichier css sans le demander au framework (sécurité et contrainte à la fois ...) du coup on crée un nouveau controlleur qui nous servira sans doute d'autres fois :
/_/app/controllers/CssController.php
class CssController extends Zend_Controller_Action { public function indexAction() { $this->noRouteAction(); } public function flashAction() { echo file_get_contents('files/css/stylesFlash.css'); } public function noRouteAction() { header('HTTP/1.1 404 Not found'); $view = Zend_Registry::get('view'); echo $view->render('Services/404.php'); } public function __call($action, $arguments) { $this->noRouteAction(); } }
Et dans notre flash, on crée un TextField. Pas plus simple il suffit de clicker (oui oui avec sa souris) sur le petit A dans la toolbar à gauche ... On lui donne un nom d'instance, newsTextField par exemple et ensuite :
var cssStyle = new TextField.StyleSheet(); cssStyle.load("http://localhost:8888/projetFlash/Css/flash"); cssStyle.onLoad = function () { newsTextField.styleSheet = this; newsTextField.html = true; newsTextField.multiline = true; newsTextField.htmlText = ''; newsTextField.htmlText += '<h2>News test</h2>'; newsTextField.htmlText += '<p>Ici le text de la news</p>'; }
Voila, reste plus qu'a trouver une manière intelligente de mettre tout ça en place, et de créer une vraie feuille CSS.

Comments
J'ajoute un lien ... Bon c'est du MX2004, mais ça donne un peu un apperçu de plein de choses autour du formatage CSS dans flash :
http://livedocs.adobe.com/flash/mx2004/main_7_2/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Flash_MX_2004&file=00001014.html#126692