Comment redimensionner dynamiquement chargés de l'image en flash (as3)
Suis de la difficulté à trouver le bon code as3 pour redimensionner une image une fois qu'elle est dynamique, appelé dans le stade et placé dans un MC.
Je suis de chargement à l'aide de:
var myLoader :Loader = new Loader();
mc.addChild(myLoader);
var url :URLRequest = new URLRequest("myimage.jpg");
myLoader .load(url );
La scène finira par s'ouvrir en plein écran (ok) j'ai donc besoin de garder l'image dans sa taille d'origine qui est beaucoup plus grand que le stade.
Ce que je dois faire est de le réduire sur le chargement à la même hauteur que la scène tout en gardant la largeur en proportion (oh et centre).
J'ai essayé toutes sortes de codes, mais ne peux pas trouver quelque chose à travailler, comme tout ce que j'ai réussi à faire c'est de redimensionner la MC contenant de l'image mais PAS l'image elle-même.
Des conseils pour le bon code serait grandement apprécié.
Je suis guessng c'est aussi simple que quelque chose comme
"myimage".x=600;
mais si oui, quelle est la bonne façon d'écrire le nom de l'image, comme je l'ai écrit, il semble erronée.
Merci beaucoup
Ed
OriginalL'auteur Edbro | 2010-09-25
Vous devez vous connecter pour publier un commentaire.
J'essaie de répondre à vos questions
OriginalL'auteur Wedangsusu
Vous devez attendre que l'image est chargée, puis vous pouvez redimensionner votre chargeur pour exemple:
Bonjour Patrick merci de voir ma réponse ci-dessous
OriginalL'auteur Patrick
Essayez ce code:
OriginalL'auteur Hakan Filiz
Vous pouvez également essayer le Chargeur de classes à l'
http://www.greensock.com/loadermax/
Ils font un excellent travail de simplification & la rationalisation du processus de chargement , avec quelques avantages en plus de tout cela.
Vérifier la classe ImageLoader
http://www.greensock.com/as/docs/tween/com/greensock/loading/ImageLoader.html
en particulier la façon dont vous pouvez mettre un tas d'option vars propriétés avant de les charger.
Voici un petit extrait de l'exemple donné dans la doc...
Mon plaisir!... 😉
OriginalL'auteur PatrickS
J'ai eu des tonnes d'erreurs avec le code ci-dessus, a dit apparemment ne peut pas imbriquer classe publique ou soemthing, j'ai donc enlevé l'emballage et de la fonction publique et je l'ai eu à travailler avec ce code
Même ajouté un peu de lissage.
J'ai besoin d'étudier la cause je ne sais pas quelle est la différence entre public et privé des fonctions?
Un autre problème, les gars, je réussi à charger dynamiquement des images si elles sont dans le même dossier que le fichier swf en cours de chargement, mais si j'essaie de tenir les images dans un autre fichier et de les appeler avec quelque chose comme
var adresse:URLRequest...etc ("stills/image1.jpg"); ils ne se charge pas. Voir quelque chose de mal ??
Encore un grand MERCI pour l'aide
Ed
C'est ce que je pensais, mais ne pourrais pas obtenir de droit. Les dossiers sont comme suit: Dans CLIENTfolder...j'ai MY_swf_file(qui charge les images) STILLSfolder ...à l'intérieur, ce sont les images im1.jpg, im2.jpg etc ... donc quand j'appelle les images dans My_swf_file ne devrait-il pas être tout simplement "STILLS/im1.jpg" etc, ou dois-je "../STILLS/Im1.jpg ??
Il peut aussi vous aider si vous avez exécuté le fichier swf dans IIS ou Apache en cours d'exécution juste le fichier swf à partir de la compilation n'est pas la même que l'exécution à partir d'un serveur. Certaines choses ne fonctionnent pas lors de l'exécution de la swf en local cela pourrait être une de ces choses.
OriginalL'auteur Edbro
vous avez besoin d'ajouter un écouteur pour écouter l'événement INIT sur ce que vous êtes en train de charger.
Et vous n'avez pas besoin de redimensionner l'image.jpg fichier lui-même (et de la façon dont vous êtes en essayant de répondre à cela ne fonctionnera pas). Vous pouvez redimensionner le chargeur.
Si vous découvrez l'AS3 Docs pour LoaderInfo vous trouverez un exemple à la fin qui montre comment ajouter les auditeurs. (Notez que l'auditeur est ajouté à la contentLoaderInfo de l'objet, pas le Chargeur lui-même).
Vous pouvez ensuite utiliser le gestionnaire d'événement pour faire le redimensionner. L'AS3 Docs montrer un exemple dans la initHandler que seulement des traces de certaines choses. Si vous n'avez chargeur.x = 600, alors vous obtiendrez ce dont vous avez besoin.
OriginalL'auteur Stray
Je viens de regarder comment redimensionner une image et j'ai trouvé cette pratique de la bibliothèque http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/
lorsque le flash est en train de réduire une image, il a la meilleure qualité lorsque vous la redimensionnez par moitié, puis garder le redimensionnement de moitié jusqu'à obtenir la taille désirée
la bibliothèque fait tout cela pour vous
le site a quelques exemples et des liens vers sa page google code
peut-être pas exactement ce que vous voulez, mais il fonctionne assez bien
OriginalL'auteur jhultgre
J'ai du mal avec ça pendant un moment les gens, mais si vous utilisez AS3, il suffit de glisser un uiloader objet sur la scène et de l'ensemble de la source et, plus important encore, scaleContent true à la propriété....
Cela fonctionne bien pour moi et nécessite moins de code:
OriginalL'auteur user6071646
J'ai aussi eu de tels problèmes, vous pouvez l'essayer ..... il a travaillé pour moi
OriginalL'auteur user4375299