Bonjour
Pour ma première appli (un jeu de carte) je voudrais créer une classe sprite qui affiche le contenu d'un fichier svg.
J'ai vu qu'on pouvait faire la chose suivanteMais ça sous-entend de créer une classe par carte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 package { import mx.core.SpriteAsset; [Embed(source="line.svg")] public class SVGLine extends SpriteAsset { } }
Pour l'instant j'ai fait quelque-chose qui ressemble à :
Maintenant, je ne sais pas comment faire pour que l'objet Card puisse afficher l'une ou l'autre des données svg (en fonction de si la carte est retournée ou non).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package { import flash.display.Sprite public class Card extends Sprite { private var _svgFront:Class = null; private var _svgBack:Class = null; public function Card(svgFront:Class, svgBack:Class) { _svgFront = svgFront; _svgBack = svgBack; } } } // utilisation : on affecte le devant et le dos de la carte à un objet Card [Embed (source = "assets/svg/back.svg")] [Bindable] public var back:Class; [Embed (source = "assets/svg/spade_J.svg")] [Bindable] public var spadeJ:Class; var spadeJCard:Card = new Card(spadeJ, back);
Idéalement, je voudrais extraire les données vectorielles, les stocker dans deux objets différents et ensuite affecter à loisir à la propriété "graphics" les données vectorielles souhaitées, mais ce n'est peut-être pas la meilleure solution.
Je manque cruellement d'expérience en ce domaine.
Y-a-t'il des pratiques courantes pour l'affichage dynamique et la manipulation de données svg (rotation, zoom) en Flash ?
J'ai vu une classe qui dessine le sprite à partir des données XML/SVG. J'aimerais éviter d'en arriver là, d'autant plus que cette classe n'utilise pas "Embed", or je veux que les fichiers soit compilés avec l'appli.
Merci d'éclairer mon chemin.
Rémi
Partager