Chargement d'une image incorporée en AS3
OK, je me sens stupide de demander ça, mais j'ai passé tout l'après-midi à essayer de le comprendre, sans succès.
En AS3, je veux ajouter une image à la Bibliothèque (appelons ça de l'image.png) et de l'instancier en utilisant simplement le code.
J'ai réussi à l'instanciation d'une image externe de cette façon
var pLoad:Loader = new Loader();
pLoad.load(new URLRequest("image.png"));
addChild(pLoad);
Mais peu importe ce que j'ai essayé, je ne peux pas faire le même chargement de l'image de la bibliothèque. Comment est-ce fait?
De côté : j'ai vu
la syntaxe, mais, idéalement, je voudrais éviter codé en dur les noms d'images, qui est, je veux choisir une image, et ainsi de générer le nom de l'image, en programmant.
Comment êtes-vous du chargement de la bibliothèque?
Pas sûr de ce que tu veux dire. Je veux dire "la bibliothèque", comme dans l'onglet Bibliothèque dans le Flash de l'IDE. Je pense que ces chargés dans le cadre de l'SWF lui-même - est-ce mal?
Non, mais vous avez besoin de faire référence à eux par leur ID. Avez-vous un ID pour que l'image dans votre bibliothèque?
Oups. Je n'ai pas utilisé de Flash dans un certain temps, de sorte que ce que j'ai mentionné apparaît uniquement dans AS1 ou AS2. Donnez-moi une minute....
Je suis un peu confus quant à pourquoi à l'aide de [Embed] ne fonctionne pas bien pour vous. Si vous avez l'image dans votre bibliothèque, vous avez encore besoin d'importer manuellement l'image. Avec [Embed] vous vous retrouvez avec un beaucoup plus propre (et faciles à trouver - pas de creuser par le biais de la bibliothèque!) solution.
Pas sûr de ce que tu veux dire. Je veux dire "la bibliothèque", comme dans l'onglet Bibliothèque dans le Flash de l'IDE. Je pense que ces chargés dans le cadre de l'SWF lui-même - est-ce mal?
Non, mais vous avez besoin de faire référence à eux par leur ID. Avez-vous un ID pour que l'image dans votre bibliothèque?
Oups. Je n'ai pas utilisé de Flash dans un certain temps, de sorte que ce que j'ai mentionné apparaît uniquement dans AS1 ou AS2. Donnez-moi une minute....
Je suis un peu confus quant à pourquoi à l'aide de [Embed] ne fonctionne pas bien pour vous. Si vous avez l'image dans votre bibliothèque, vous avez encore besoin d'importer manuellement l'image. Avec [Embed] vous vous retrouvez avec un beaucoup plus propre (et faciles à trouver - pas de creuser par le biais de la bibliothèque!) solution.
OriginalL'auteur ggambett | 2009-08-26
Vous devez vous connecter pour publier un commentaire.
Eh bien, tout d'abord, vous devez ouvrir la fenêtre propriétés de la bibliothèque et de cocher la case "Exporter pour Actionscript" case à cocher, après cela, il suffit de mettre une belle référence de votre objet dans la classe textfields, pour cet exemple, je vais l'appeler MyImage, ok. Maintenant, nous allons obtenir le code.
Qui est, fonctionne bien ici.
La chose est que j'ai besoin d'un Sprite ou quelque chose que je peux appliquer des transformations, en particulier mise à l'échelle et la rotation de ce que j'ai lu, les Bitmaps ne pas le faire. Ma propre réponse affichés ci-dessous utilise la même idée de base pour charger les données de l'image et de le mettre dans un Sprite, mais j'ai encore de l'espoir, il ya une meilleure façon.
Vous pouvez toujours ajouter votre objet bitmap à un Sprite, puis effectuez les modifications que vous souhaitez.
OriginalL'auteur ruyadorno
La bibliothèque Flash est assez mystique être, mais si elle est bien utilisée, elle peut être tout à fait une belle façon pour l'installation de Flash de votre flux de travail... je vais essayer de clarifier tout cela:
Symboles de la bibliothèque avec la fonction "Exporter pour ActionScript" option sont effectivement compilé en tant que classes. Si il n'y a pas de fichier de classe avec le même nom de classe, Flash en créer un sur la compilation du même nom que vous déclarez dans le champ "Class". Cela signifie que, dans votre cas, si le nom de la classe est "de l'image.png" il va réellement créer un "png" classe "image" package extension de BitmapData (bien sûr, il serait plus sage de lui donner un autre nom de classe, dire proyect.de la bibliothèque.MyImage)... ce qui signifie que vous n'avez pas besoin getDefinitionByName, il vous suffit d'instancier comme vous le feriez avec toute autre catégorie:
Alors vous avez besoin d'une occurrence de Bitmap pour être en mesure de l'ajouter à la displayList:
Tout cela s'applique à toute Bibliothèque de symboles (à l'exception Graphique)... disons que vous "exporter COMME" un symbole de son "projet.de la bibliothèque.MySound", alors vous pouvez simplement faire ceci:
Si vous avez un fichier de classe avec le même nom que votre bibliothèque de symbole, Flash essayez de l'utiliser (si il hérite de la valeur par défaut de la classe de base).
Vous remarquerez que tous ces symboles modifiable champ Classe de Base. Vous pouvez également définir une classe personnalisée dans il y, tant qu'il inherts la valeur par défaut de la classe de base... Dans les bitmaps c'est flash.d'affichage.BitmapData, les sons sont flash.médias.Le son, les polices sont flash.texte.De police, des clips d'animations flash sont.d'affichage.MovieClip, etc...
Dans le cas de MovieClips, aussi longtemps que vous n'avez pas les images, vous pouvez également sous-classe de Sprite.
Tout cela, même si cela peut sembler un peu mystique, si elle est bien appliquée, peut entraîner assez à l'aise de flux de travail pour les concepteurs et les développeurs qui travaillent avec Flash. Par exemple, vous pouvez configurer un joli paquet avec l'ensemble de définition de l'INTERFACE utilisateur, et de faire vos concepteurs de l'utilisation de ces classes de base pour assembler les graphismes et les animations.
OriginalL'auteur Cay
Une amélioration sur ruyadorno façon, si vous savez déjà ce que le nom de classe est, est juste:
Bitmaps peuvent être mis en Sprites assez facilement:
Ensuite, vous pouvez transformer le sprite que la normale.
n.b. Les paramètres de MyImage sont la largeur et la hauteur, mais ils sont factices pour des sous-classes, vous pouvez passer n'importe quoi.
OriginalL'auteur Chris Burt-Brown
Selon ce que j'ai trouvé, c'est nulle part aussi facile à faire en AS3 comme il était dans les versions précédentes. Une méthode qui a fonctionné a été de créer un MovieClip à contenir l'image, puis de créer une instance de MovieClip et l'ajouter à la scène. L'autre méthode est de créer une classe pour chaque image que vous ajoutez, ensuite instancier et d'ajouter que la classe à la scène (les étapes qui sont situés ici.
Il doit y avoir de meilleures façons de le faire. Je vais continuer à chercher.
OriginalL'auteur Michael Todd
Ressemble à ceci fonctionne :
Semble laid et unnecesarily complexe, bien que. D'une autre manière?
OriginalL'auteur ggambett