Catégorie 'Flash'
Pour être complet, par rapport à peinture Flash CS3: effets avec Matrix matrices Je tiens à souligner que la Matrix ne sont pas nécessaires pour le comportement montré dans le post précédent. En fait, nous voyons dans l'exemple ci-dessous:
Le code est légèrement différente de la précédente, est la suivante:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| / * Code ActionScript 2.0 ** * / . MouseEvent ; flash.events importation. MouseEvent ; . Matrix ; . importation flash.geom matrice ; / / Drapeau pour détecter la mousedown Boolean = false ; md var: Boolean = false; / / Créer un front tableau Sprite = new Sprite ( ) ; var lvg1: Sprite = new Sprite (); . lineStyle ( 0 , 0xffffff ) ; . lvg1 graphiques lineStyle (0, 0xffffff).; . beginFill ( 0x666666 ) ; .. lvg1 graphiques beginFill (0x666666); . drawRect ( 0 , 0 , 199 , 199 ) ; .. lvg1 graphiques drawRect (0, 0, 199, 199); . endFill ( ) ; . lvg1 graphiques endFill ().; lvg1 ) ; addChild (lvg1); = lvg1 . y = 30 ; lvg1 x = y = 30 lvg1..; / / Créer le tableau incliné Sprite = new Sprite ( ) ; var lvg2: Sprite = new Sprite (); . lineStyle ( 0 , 0xffffff ) ; . lvg2 graphiques lineStyle (0, 0xffffff).; . beginFill ( 0x666666 ) ; .. lvg2 graphiques beginFill (0x666666); . drawRect ( 0 , 0 , 199 , 199 ) ; .. lvg2 graphiques drawRect (0, 0, 199, 199); . endFill ( ) ; . lvg2 graphiques endFill ().; = 400 ; lvg2 x = 400.; = lvg1 . y ; lvg2 y = y lvg1..; = 45 ; . lvg2 rotation = 45; = lvg2 . scaleY = . 6 ; lvg2 scaleX = lvg2 scaleY = 6...; lvg2 ) ; addChild (lvg2); / / / / Événements Paint ( MouseEvent . MOUSE_DOWN , _onMouseDown ) ; . lvg1 addEventListener ( MouseEvent MOUSE_DOWN, _onMouseDown.); ( MouseEvent . MOUSE_MOVE , _onMouseMove ) ; . lvg1 addEventListener ( MouseEvent MOUSE_MOVE, _onMouseMove.); ( MouseEvent . MOUSE_UP , _onMouseUp ) ; . lvg1 addEventListener ( MouseEvent MOUSE_UP, _onMouseUp.); / / e : MouseEvent ) : void { fonction _onMouseDown (e: MouseEvent ): void { "_onMouseDown" ) ; trace ("_onMouseDown"); : uint = 0xffffff ; var c: uint = 0xffffff; . graphics . lineStyle ( 10 , c , 1 ) ; ... et la cible graphiques lineStyle (10, c, 1); . lineStyle ( 10 , c , 1 ) ; .. lvg2 graphiques lineStyle (10, c, 1); . graphics . moveTo ( e . localX , e . localY ) ; ... et la cible graphiques moveTo (et. localX, et localY.); . moveTo ( e . localX , e . localY ) ; .. lvg2 graphiques moveTo (et. localX, et localY.); md = true; } / / e : MouseEvent ) : void { md = false ; } _onMouseUp function (e: MouseEvent ): void {md = false;} / / e : MouseEvent ) : void { _onMouseMove function (e: MouseEvent ): void { "_onMouseMove" ) ; trace ("_onMouseMove"); md ) { si (md) { . graphics . lineTo ( e . localX , e . localY ) ; ... et la cible graphiques lineTo (et. localX, et localY.); . lineTo ( e . localX , e . localY ) ; .. lvg2 graphiques lineTo (et. localX, et localY.); } } |
Dans ce cas, les lignes 22 à 25 montrent que, même avec une simple rotation et de déplacement effet est répété.
En savoir plus ...
Jouer avec l'objet puissant et polyvalent Matrix (matrice), liée à des transformations, vous pouvez faire des choses bizarres. Ces outils sont utilisés pour appliquer des transformations particulières à un objet visuel, comme un sprite. Vous pouvez, par exemple, redimensionner, faire pivoter, ou de torsion (inclinaison) d'un sprite. e rotation ), per l'effetto Skew bisogna ricorrere direttamente alle matrici. Alors que les deux premières fonctions (échelle et la rotation) des objets Sprite (et autres) de fournir directement les propriétés ( scaleX / scaleY et rotation ), l'effet d'inclinaison devrait s'adresser directement aux matrices. Ce que je tiens à souligner ici est que lorsque nous modifions un objet graphique toutes ses coordonnées internes sont décalés:
En savoir plus ...
Certains, à juste titre, argumenter sur Adobe AIR, Adobe Integrated Runtime (anciennement Apollo) offerts par Adobe. Qu'est-ce qu'on parle? Après tout AIR est encore une version bêta ( la dernière version est 12/12/2007 - la beta 3 ) et son succès, y compris si nous allons ou non dépend de nombreux facteurs.
En savoir plus ...
Je le dis maintenant: vous ne gagnez rien! En dehors de la fierté - si quelque chose - d'avoir résolu le problème.
QUEST - APPLICATION
Comment faire pour créer un outil pour effacer, supprimer, effacer, une "partie" des graphismes dessinés avec l'API en Actionscript 3.0?
, espongono la proprietà graphics , un puntatore ad un altro oggetto che “serve” tutte le funzioni grafiche di disegno runtime. Avec Actionscript 3.0 Certains objets visuels, tels que MovieClip ou Shape , présentant des propriétés graphics , un pointeur vers un autre objet qui «sert» toutes les fonctionnalités graphiques de l'exécution des dessins. Par exemple, vous pouvez développer une application de dessin simple. , in modo semplice e rapido. Cet objet graphics permet de dessiner quoi que ce soit, par exemple sur un objet Shape , d'une manière simple et rapide. Le problème, c'est que quelque chose est tiré une fois peut tout nettoyer, mais pas une seule pièce.
Tracez une ligne est facile:
1 2 3 4 5 6
| Shape = new Shape ( ) ; myShape var: Forme = new Shape (); myShape ) ; addChild (myShape); / / . lineStyle ( 2 , 0xff0000 , 1 ) ; .. myShape graphiques lineStyle (2, 0xFF0000, 1); . moveTo ( 0 , 0 ) ; .. myShape graphiques moveTo (0, 0); . lineTo ( 100 , 100 ) ; .. myShape graphiques lineTo (100, 100); |
Dessiné quelque chose que vous pouvez nettoyer le tout avec le simple appel à clear() :
1
| . clear ( ) ; myShape graphiques clear ()..; |
Mais si je veux "supprimer" un seul point? Ou à partir des coordonnées de 50,50 à 100.100?
La recherche sur Internet, j'ai trouvé plusieurs exemples de "applications" de conception et, en fait, l'outil propose pas de support ou «supprimer».
Avez-vous une solution?
En savoir plus ...
Yahoo! vient de publier ASTRA , une suite de composants pour Adobe Flash et Flex . Je dois dire que, du moins en ce qui concerne les composants pour Flash, j'ai eu une déception de la moitié (si ce n'est pas total). Le plus intéressant, peut-être, est la TabBar ... le reste laisse beaucoup à désirer. Ils ont l'air pour certains composants ont développé leur projet - interne - et maintenant libéré comme produit ouvert! Peut-être, chez Yahoo!, nous sommes déjà alignés sur les politiques de Microsoft ... depuis aujourd'hui la société de logiciels fondée par Bill offert 44,6 milliards de dollars pour acheter Yahoo!! 44,6 milliards, je n'ai pas mal orthographié!
Mais faire un voyage sur le site où vous pouvez trouver plusieurs ressources utiles. Nous espérons dans un avenir proche.
En savoir plus ...
. Encore une fois dans l '"uniforme", comme cela s'est produit avec les événements (voir le nouvel événement de manutention Flash CS3 et Flash CS3: Le traitement d'un nouvel événement ), l'une des nombreuses fonctionnalités nouvelles dans ActionScript 3.0 est la disparition de tous ceux méthodes ad hoc dédiées à la création d'objets particuliers, tels que: createEmptyMovieClip() ou le célèbre attachMovie() . Avec Actionscript 3.0, l'opérateur new est suffisante pour effectuer toutes les opérations de l'immeuble. Un MovieClip, par exemple, est créé (runtime) avec le code suivant:
Mais allons-y! Si j'ai un symbole dans la bibliothèque et comment puis-je aller si je veux ajouter exécution attachMovie() est parti? La solution n'est pas très dissemblable de ce qui s'est passé en Actionscript 2.0. Vous devez d'abord aller dans la bibliothèque, sélectionnez le symbole et ouvrez la fenêtre des propriétés. Puis cochez la case Exporter pour ActionScript chaînage - comme cela s'est produit dans Flash 8. Une bibliothèque de symboles en tant que classe de base a toujours flash.display.MovieClip , mais cela ne nous intéresse pas beaucoup. La chose intéressante, cependant, est la classe de paramètre qui est défini par défaut (lorsque vous vérifiez l'exportation pour ActionScript) avec le nom du symbole. Ce qui est important à souligner, c'est que c'est une nouvelle façon dans Flash CS3 (et ActionScript 3.0). Le symbole à exporter doit avoir une référence de classe. La curiosité est que nous ne sommes pas obligés de créer notre propre force de la classe (étendue de flash.display.MovieClip ), bien que nous pourrions le faire.
En savoir plus ...
J'ai remarqué souvent de la confusion quand il s'agit de classes, des objets et des instances. Qui n'est pas particulièrement sensibilisés à la programmation orientée objet confond souvent le vrai sens de ces termes. Je savais, cependant, qu'il existe deux écoles de pensée quant à la définition de la classe et d'objet. J'aime l '"école" qui indique la définition de la classe comme un objet possible, et donc l'objet comme instance de la classe.
Cela paraît simple, mais il m'est arrivé - parler avec d'autres - d'être en "conflit" (façon de parler) et tombent ensuite dans la confusion, lorsque vous utilisez ces termes, si quelque chose, à partir de la prémisse que «l'autre», tout comme nous les entendons .
Je le vois de cette manière, une classe est une définition! Est-classe définie avec précision des objets possibles. La classe est l'ensemble des méthodes et des propriétés (si vous le souhaitez nous pouvons également ajouter des événements - Quoi d'autre ... non seulement que les méthodes spéciales) qui possèdent l'objet.
Par exemple, quand nous écrivons en Actionscript, ou tout autre langage orienté objet:
1 2 3 4
| class MyClass { MiaClass fonction () {} myMethod function () {} } |
Nous avons défini une classe et non un objet. Dans la limite que nous avons "défini" une "possible" objet. On pourrait même argumenter, et à juste titre, que l'objet existe lors de l'exécution tandis que la catégorie n'est pas (dans la vérité il ya des classes dynamiques qui peuvent être définis - et ensuite utilisé pour créer des objets - même lors de l'exécution). Exclure les classes statiques, bien sûr, que - finalement - ne sont plus que des sous-instances (ou les instances cachée) et des objets réels.
Mais quand nous avons:
1
| MiaClasse = new MiaClasse ( ) ; var MyObject: MaClasse = new MaClasse (); |
! Ici mioOggetto est une instance de MiaClasse() ! . Cela mioOggetto est un sujet - en fait - de type MiaClasse() .
. Par conséquent, leur philosophie à des objets, des objets de type MiaClasse() Je ne peux en avoir autant que je veux, quelque chose qui ne peut pas être - la définition même - de MiaClasse() . Par exemple, si applicable et il est logique de la relation:
1 2 3 4 5
| MiaClasse = new MiaClasse ( ) ; var mioOggetto_1: MaClasse = new MaClasse (); MiaClasse = new MiaClasse ( ) ; var mioOggetto_2: MaClasse = new MaClasse (); MiaClasse = new MiaClasse ( ) ; var mioOggetto_3: MaClasse = new MaClasse (); ... MiaClasse = new MiaClasse ( ) ; var mioOggetto_n: MaClasse = new MaClasse (); |
Il n'a pas de sens:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class MyClass { MiaClass fonction () {} MioMetodo_2 fonction () {} }
class MyClass { MiaClass fonction () {} MioMetodo_2 fonction () {} }
class MyClass { MiaClass fonction () {} MioMetodo_3 fonction () {} } |
Instance de l'objet et, par conséquent, coïncident et sont utilisés alternativement pour la même signification dans des contextes différents.
Probablement pas beaucoup de soins au sujet de n'importe ... la question doit être complète ... 
En savoir plus ...
J'avais déjà parlé dans Flash CS3: Le traitement d'un nouvel événement . Je retourne la question sottolieare la différence de cette nouvelle approche par rapport aux versions précédentes d'ActionScript. Schématiquement, nous avons une situation générale de ce type:

Tout objet qui prend en charge les événements, en fin de compte, expose toujours la méthode addEventListener (). Dans la documentation, entre autres, lire:
Quoi de neuf pour les écouteurs d'événement dans ActionScript 3.0
[...] Pour ajouter des écouteurs d'événement dans ActionScript 2.0 est parfois utilise la méthode addListener () et parfois addEventListener (), alors que dans ActionScript 3.0 à l'aide de addEventListener () dans toutes les situations.
[..]
La gestion des événements, puis, est standardisé au niveau de l'écouteur réel. Tous les "caractéristiques" d'écoute, en fait, ont la structure suivante:
1 2 3
| eventObject : EventType ) : void { fonction eventResponse (eventObject: EventType): void { / / Les actions en réponse à des événements sont définis ici. } |
o una sua sottoclasse. EvenType est toujours un objet de classe Event ou de la sous-classe. . Cela permet de toujours obtenir des informations spécifiques à l'événement particulier, en plus de la manipulation des propriétés standard comme target ou currentTarget .
Une différence importante avec les versions précédentes d'ActionScript, à l'égard de l'auditeur, c'est que:
Dans ActionScript 2.0, les écouteurs d'événement peuvent être soit des fonctions, des méthodes ou des objets, alors que dans ActionScript 3.0 peut être des écouteurs d'événements que fonctions ou les méthodes.
Ainsi, après avoir utilisé pendant un certain temps la structure «à des événements des versions précédentes de Flash, je dois dire que cette nouvelle approche est vraiment sympa. C'est un peu ce que le «développement avec ActionScript 3.0 et, après une petite perte initiale (juste pour retrouver ce qui était précédemment supposé) maintenant je ne peux pas comprendre comment je pouvais résister à la" vieille "méthode des événements des versions précédentes.
En savoir plus ...
Google possède des API - en Javascript - à mettre ses cartes dans n'importe quel site web Viediamo comment accomplir la même chose avec Flash.!
Nous commençons à partir d'un composant gratuit, UMAP (Universal ActionScript 3.0 API de cartographie - Intégré à Google Maps), développé par AFComponents , quelques entreprises verticalement organisés de composants pour Flash / Flex vraiment intéressant et abordable. Sur le site, où vous devez vous inscrire pour profiter de téléchargements gratuits, il ya aussi des versions de l'UMAP pour ActionScript 2.0: CARTE G Ver.2.6.1 . Dans ce cas, nous analyserons la version 0.4 bêta de l'UMAP pour ActionScript 3.0 (à l'intérieur du paquet il ya aussi un composant Flex). Que nous allons voir, c'est - évidemment - une version bêta et est manquant, puis, quelques fonctionnalités présentes dans la version pour Actionscript 2.0 ( G Ver.2.6.1 MAP ). Toutefois, les biens de fonctionner impeccablement pour l'avenir, il semble plus intéressant d'attirer l'attention sur ce communiqué, j'ai essayé les deux et, malgré la plus grande exhaustivité de la mise en Actionscript 2.0, Actionscript 3.0 version bêta est considérablement plus puissant.
En savoir plus ...
Cher Père Noël Adobe,
même s'il a déjà reçu deux patchs pour Flash CS3 (version 9.0.2), certains troubles de son utilisation ont fait leur apparition que dans tous les logiciels dans le monde, en particulier dans le présent communiqué que les modifications qu'elle a subies un très grand nombre.
- Rédacteur en chef de L 'ActionScript, par exemple, est lent et saccadé! Considérons, Adobe Cher Père Noël, que ma voiture a 8Gbyte de RAM et un processeur Intel quad core duo!
- Au cours de la mise en forme automatique, de lignes de code comme celui-ci ci-dessous, sont «mal compris» et reformaté le mal:
1
| ( MouseEvent . CLICK , function ( e ) { myfunc ( ) ; } ) ; . myBtn addEventListener ( MouseEvent CLIC, function (e) {mafonction ();}.); |
Ajout des accolades où il doit être:
1 2
| ( MouseEvent . CLICK , function ( e ) { myfunc ( ) ; } ) ; . myBtn addEventListener ( MouseEvent CLIC, function (e) {mafonction ();}.); // < -- chi te l'ha detto?! } / / <- Qui vous a dit?! |
Il vaudrait donc mieux utiliser la syntaxe:
- Le dossier fenêtres, au moins dans la mise en œuvre de Windows Vista, à l'occasion de disparaître sous d'autres panneaux ... La fenêtre d'aide, l'orientation à court, crée un problème lorsque vous essayez un projet. Ce dernier, en effet, disparaît derrière les autres panneaux ... mystère! Toutefois, ce défaut, comme les autres, n'est pas toujours reproductibles.
- Les composants ont un comportement étrange: parfois sont présentés, dans la conception-temps, sous forme de rectangles blancs ... mais continuent à fonctionner à l'exécution!

- Le «anterprima scale9Grid, comme indiqué dans la documentation nouvelle et être en mesure de montrer les objets correctement redimensionnées au moment du design, continue d'être en proie à des problèmes de la version précédente! Dommage!

Cependant, à Noël, c'est tous mieux ... alors, mon cher Père Noël Adobe, nous regardons de l'avant les mises à jour futures.
En savoir plus ...
Derniers Commentaires
Giovambattista Fazioli : @ Vik: la validation est toujours un problème difficile à gérer, comme il se doit ...
vik : champs personnalisés des utilisateurs semble intéressante, il convient d'ajouter la possibilité de valider le champ basé sur ...
kOoLiNuS : @ Giovambattista Fazioli: merci! plus que disposés!
Giovambattista Fazioli : @ kOoLiNuS: Calme, vous pouvez probablement prévoyons que WPX Cleanfix sera libre, et ...
kOoLiNuS : @ kOoLiNuS: un manque
et un 