Catégorie 'Flash'


Flash CS3: Le traitement d'un nouvel événement

Enfin, avec ActionScript 3.0 ne sont plus avoir deux la gestion différente des événements comme ils le faisaient avant ActionScript 2.0 (voir: la gestion de l'événement: des similitudes entre Flash et Javascript ). La méthode addEventListener() , omniprésent dans la nouvelle architecture permet de gérer de nouvelles et exceptionnellement nettoyer tous les événements possibles, même les plus personnelles. La nouvelle organisation dans le package vous permet d'importer les événements que nous desservons et de traiter chacun de façon égale:

1
2
3
4
/ / Événements
. KeyboardEvent ; flash.events importation. KeyboardEvent ;
. MouseEvent ; flash.events importation. MouseEvent ;
. Event ; flash.events importation. événements ;

En savoir plus ...

Flash CS3: TextField.appendText ()

Flash CS3 a tant d'innovations, y compris le «bizarre» de préciser, à compiler quelques conseils sur l'écriture de code. Ce qui se passe, par exemple, lorsque nous traitons avec des objets TextField . J'ai dû ajouter une chaîne à la fin d'un champ TextField avec la notation classique:

1
+ = "Stringa aggiunta" ; . mioTextField_txt texte + = "chaîne en ajoutant";

Mais ce n'est ActionScript 3.0, au moment de remplir le film, je me suis senti (Avertissement) - ou recommandés:

Attention: 3551: ajout de texte à un TextField avec + = est plusieurs fois plus lent que d'utiliser la méthode TextField.appendText ().

Refroidir! Voyons le fait de la méthode SYNOPSIS appendText() dit en réalité:

) applicata a una proprietà text (ad esempio <strong>someTextField.text += moreText</strong> ), in particolare nel caso di un campo di testo con una quantità di contenuto significativa. Ajoute la chaîne spécifiée par newText à la fin de la zone de texte. Cette méthode est plus efficace qu'un affectation d'addition ( += ) propriétés appliquées à un text (par exemple <strong>someTextField.text += moreText</strong> ), en particulier dans le cas d'un champ de texte avec une quantité importante de contenu.

Nous faire confiance? Pour vérifier la sécurité:

1
2
3
4
5
6
7
8
9
. getTimer ; flash.utils importation getTimer.;

uint = 0 ; var i: uint = 0;
int = getTimer ( ) ; var s: int = getTimer ();
i ; i < 10000 ; i ++ ) { pour (i, i <10000; i + +) {
+ = "Ciao" ; . text_txt texte + = "Bonjour";
}
int = getTimer ( ) ; var f: int = getTimer ();
f - s ) ; trace (f - s);

Temps: 9360 - sur ma machine, en mode debug. Essayons comme conseillé par le compilateur:

1
2
3
4
5
6
7
8
9
. getTimer ; flash.utils importation getTimer.;

uint = 0 ; var i: uint = 0;
int = getTimer ( ) ; var s: int = getTimer ();
i ; i < 10000 ; i ++ ) { pour (i, i <10000; i + +) {
( "Ciao" ) ; . text_txt appendText ("Bonjour");
}
int = getTimer ( ) ; var f: int = getTimer ();
f - s ) ; trace (f - s);

Temps: 8415 ;)

Rien de grand ... mais c'est vrai! ). La méthode appendText() est plus rapide et plus puissant pré-incrémentale de l'opérateur ( += ). Pourquoi? La raison la plus évidente est la suivante: l'opérateur ( += ) fonctionne sur n'importe quel type de données. Par ailleurs, dans un langage OO cet opérateur n'est pas structuré comme en C, mais est tout simplement "oggettato". En C + +, par exemple, vous pouvez écraser (remplacer) l'opérateur dans le cadre de la structure de la langue objet lui-même. En fin de compte appendText() est plus rapide parce que son objectif est de «fixer» à une chaîne et n'a donc pas faire beaucoup de «questions» en elle. L'opérateur ( += ), cependant, doit travailler pour n'importe quel type de données et n'est donc pas optimisé pour les cordes. En C, au contraire, l'opérateur ( += ) est une fonction à un niveau bas et sera toujours plus rapide qu'un appel à une fonction.

En savoir plus ...

Flash CS3: communiquer avec un serveur Web

ActionScript 3.0 introduit un certain nombre d'outils formidables de communication, dont certaines sont totalement nouvelle, certains révisés et améliorés à partir de versions précédentes d'ActionScript. Nous commençons à voir comment elle modifie la façon dont vous interagissez avec un serveur Web dans le cas d'une simple communication entre Flash et une page PHP avec un XML de réponse. Tout d'abord, l'objet XML n'existe plus! Dans les classes ActionScript 3.0 nouvelles ont été introduites, dont certaines sont dédiées à «compatibilité ascendante».

Remarque: La classe XML (avec les classes connexes) à partir d'ActionScript 2.0 ont été renommées XMLDocument et transférées à l'flash.xml paquet. Il est inclus dans ActionScript 3.0 pour assurer la compatibilité avec les versions précédentes.

usando il metodo sendAndLoad() dell'oggetto LoadVars (vedi: Flash: LoadVars e XML per inviare dati in POST ). Dans ActionScript 2.0 communication avec un serveur Web a souvent été résolu par l'exploitation de la combinaison des objets LoadVars et XML, en utilisant la méthode sendAndLoad() d'objet LoadVars (voir: Flash: LoadVars et XML pour envoyer des données dans POST ). Maintenant, les choses changent, mais que vous venez de s'habituer à de nouveaux noms et des objets. Comme indiqué dans le manuel, en fait:

En savoir plus ...

Serveurs de tunneling et les procurations, et pas seulement pour l'Ajax

En raison de sa capacité à communiquer avec le serveur, l'objet (XHR) XmlHttpRequest, utilisé dans la technologie Ajax (qui signifie Asynchronous JavaScript and XML, ce qui devrait être prononcé "egiacs« Même si nous Italiens préfèrent "aiacs"), a un verrou de sécurité qui vous empêche d'exécuter des applications en dehors du domaine dans lequel elle opère. Cette protection est nécessaire pour empêcher Javascript injection (techniques de «injection» de code extrêmement dangereux, afin de casser le système) de différents types, avec l'objectif ultime de «pause» dans le système.
Cette limite est désormais sérieusement prise en considération et que vous pensez, en quelque sorte, de le résoudre - objet XmlHttpRequest directement - sans compromettre la sécurité (voir aussi: troisième proposition de cross-site des extensions de XMLHttpRequest ).

Toutefois, la situation aujourd'hui est comme suit:

XHR

En savoir plus ...

Créer un flocon de neige en Flash

Certains lecteurs m'ont demandé comment il a été créé le flocon de neige, tellement réaliste, les fêtes de Noël Widget . Ceux qui ont téléchargé le code source, vous le savez probablement déjà ... mais il était vraiment simple. D'abord, j'ai choisi l'outil Pinceau dans Flash et j'ai dessiné un point.

Flocon de neigeFlocon de neige

Je me suis tourné cela en un symbole et j'ai appliqué deux effets dans le bon ordre: coniques et le flou:

Flocon de neigeFlocon de neige

Le résultat a été: Flocon de neige

A ce MovieClip (symbole) associé à une classe simple, je CNeve , ce qui crée effectivement l'intelligence de l'agrafe elle-même:

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
MovieClip { CNeve classe étend MovieClip {
_interval ; privé _interval var;
_maxy : Number ; privé _maxy var: Nombre ;
/ /
CNeve fonction () {
this , "_move" , 25 ) ; _interval = setInterval (this, "_move", 25);
round ( ( Stage . height + 256 ) / 2 ) + _getRndRange ( - 20 , - 7 ) ; _maxy = Math . ronde (( Stade hauteur + 256) / 2.) + _getRndRange (- 20, - 7);
}
/ /
_getRndRange ( min : Number , max : Number ) : Number { _getRndRange fonction privée (min: Nombre max: Nombre ): Nombre {
Number = Math . floor ( Math . random ( ) * ( max - min + 1 ) ) + min ; randomNum var: Nombre = Math . étage ( Math random () * (max - min + 1).) + min;
randomNum retour;
}
/ /
_move ( ) { _move fonction privée () {
1 , 5 ) ; _y + = _getRndRange (1, 5);
_getRndRange ( - 50 , 50 ) ) > 0 ) ? 1 : - 1 ; _x + = ((_getRndRange (- 50, 50))> 0) 1: -? ​​1;
1 , 5 ) ; _rotation + = _getRndRange (1, 5);
_y > _maxy ) { si (_y> _maxy) {
_interval ) ; clearInterval (_interval);
}
; updateAfterEvent ();

}
}

La méthode _move() contient l'intelligence de l'agrafe, qui est la fonction d'une chute, extrêmement simple. En faisant varier la fonction aléatoire _x += ((_getRndRange(-50, 50))&gt;0) ? 1 : -1;, si può aggiungere un effetto effetto vento, cioè i fiocchi cadono con una pendenza particolare. _x += ((_getRndRange(-50, 50))&gt;0) ? 1 : -1;, par exemple en insérant un _getRndRange(-550, 50), vous pouvez ajouter un effet de vent effet, c'est à dire les flocons tomber avec une pente particulière. En particulier, il peut envoyer les flocons gauche et à droite en utilisant un code de ce type:

1
_getRndRange ( _getRndRange ( - 350 , - 50 ) , _getRndRange ( 50 , 350 ) ) ) > 0 ) ? 1 : - 1 ; _x + = ((_getRndRange (_getRndRange (- 350, - 50), _getRndRange (50, 350)))> 0) 1: - 1;?

La rotation ( _rotation += _getRndRange(1, 5); ), puis, donne un détail à la suite de l'agrafe elle-même.
e uno scale randomico, per avere fiocchi di neve di diverse dimensioni. Quand je crée un arc (voir la fonction creaFiocco() ci-dessous) J'ai aussi ajouté un alpha=90 et un escalier randomico, d'avoir des flocons de neige de différentes tailles.

1
2
3
4
5
6
7
8
9
10
11
12
/ / Créer base
creaFiocco fonction () {
20 , 100 ) ; var s = plageAleatoire (20, 100);
= randRange ( - Math . floor ( ( Stage . width - 320 ) / 2 ) , Math . round ( ( Stage . width + 320 ) / 2 ) ) ; var x = plageAleatoire (- Math . floor (( Stade . largeur - 320) / 2), Math . ronde (( Stade largeur + 320) / 2).);
= - Math . floor ( ( ( Stage . height - 256 ) / 2 ) ) - 10 ; var = y - Math . étage ((( Stade hauteur - 256) / 2).) - 10;
"neve" , "neve_" + index , index , { _x : x , _y : y , _xscale : s , _yscale : s , _alpha : 90 } ) ; . c_mc attachMovie ("neige", "neve_" + index, index, {_x: x, _y: y, _xscale: s, _yscale: s, _alpha: 90});
index + +;
index > 1000 ) { if (index> 1000) {
; index = 1;
, 2 ) ; c_mc createEmptyMovieClip = ("c_mc", 2);
}
}

Et c'est tout ... ;) J'ai oublié ... Meilleurs vœux à tous et bonnes fêtes ... ;)

En savoir plus ...

Analog Clock in Flash

Flash Player Loading ...

Aujourd'hui je vous propose une variante intéressante de la "classique" horloge analogique en Flash. Cette version contient un Tween de transition lorsque le film. Je me suis inspiré de Gadgets de Windows Vista qui ne, en fait, ce bel effet lors du démarrage.
Le code est écrit en ActionScript 2.0 et a été compilée avec la nouvelle Adobe Flash CS3. Cela démontre que la nouvelle suite CS3 est entièrement compatible avec les versions précédentes de Flash, un point extrêmement important pour ceux qui ont décidé d'examiner la mise à jour du produit.
Pour la source , cliquez ici .

En savoir plus ...

Widget Noël: la neige qui tombe en Flash

Mise à jour: Non disponible
Voir Créer un flocon de neige en Flash

Merci à la "stimulé" de TV Révolution J'ai fait quelques petites Widgets Noël (voir si nous pouvons l'améliorer avec vos commentaires).
Pour l'utiliser, il suffit d'insérer le code suivant sur votre site:

1

Le paramètre h détermine la hauteur en pixels du film. Par défaut, ceci est représenté en position absolue et descendre à 100%. Pour changer ce réglage est utilisé abs=0 pour placer la neige à l'intérieur de la page et non pas sur elle. Au lieu de cela, utilisez w=800 pour définir une dimension personnelle. Par exemple:

1

Créer neige de 50 pixels, 640 pixels de large, et la position relative, comme le montre ci-dessous:

Mise à jour: Non disponible - Voir Créer un flocon de neige en Flash

En savoir plus ...

10 bonnes raisons de mise à niveau vers Adobe Flash CS3

2007-11-21_170314 Pour certains développeurs juste besoin de savoir qu'il ya une nouvelle version de leur programme de développement préféré pour courir et acheter la mise à niveau. D'autres, et à juste titre, de maintenir un plus calme et plus "faire semblant" de savoir la reprise effective de la nouvelle version avant de changer leurs habitudes. Dans le cas de Adobe Flash CS3 n'est pas grand-chose à attendre, étant donné les nombreux changements qui ont souffert de l'emballage lors de Macromedia a été racheté par Adobe.
Voici donc, 10 des raisons simples, mais importantes, qui, à mon opinion personnelle, assez pour vous convaincre de passer à Adobe Flash CS3 . Je vais, bien sûr, seules les fonctions qui m'ont impressionné personnellement, ce n'est pas conçue comme une liste exhaustive de tous les nombreux changements apportés à la suite CS3, seule une mouche à anticiper certaines fonctionnalités de CS3.

1. Installation

L'installation est facile et rapide, par rapport aux versions précédentes. Il comprend, entre autres choses, avec tous les produits Adobe (Dreamweaver CS3, Photoshop CS3 Extended, etc ...) qui rend l'installation / retrait et mettre à jour un réel plaisir.

2. Compatibilité descendante

Une question souvent négligée, mais toujours pris en compte dans l'histoire de Flash: La capacité de gérer les versions précédentes du produit. Dans Flash CS3 dispose de tous les outils nécessaires pour migrer que de manipuler à la fois les versions précédentes de nos films. Nous trouvons cette possibilité dans le débogage (le débogage d'une part ActionScript 2.0 et ActionScript 3.0) est en train de terminer le film. Applications d'écrire immédiatement dans Flash Actionscript 3.0 peut être contre-productive dans certains contextes. Si votre site cible a un trafic élevé, vous pouvez constater que de nombreux utilisateurs n'ont pas encore installé les dernières versions de Flash Player pour votre navigateur, puis ne serait pas voir le film. Toutefois, comme déjà dit, Flash CS3 permet de développer des applications Flash compatibilité descendante mantendedo et ne voit donc pas dans ce nell'upgrade une ostocalo importante du produit.

3. GUI et IDE

Panneau de réduire au minimumFlash CS3 Nouveau panneau L'IDE Flash CS3 (comme Dreamweaver CS3) a été révisé afin de mieux. Les panneaux (voir figure à gauche), souvent mal à l'aise dans les versions précédentes, ont été complètement repensés et maintenant leur utilisation est moins invasive notevolemente. Panneaux en mode icône Outre la possibilité de réduire au minimum les panneaux (voir figure à droite) se trouve ce qui rend une interface très agréable et la fonctionnalité. Quand un panneau est en icône de mode occupe beaucoup moins d'espace et d'un simple clic vous pouvez ouvrir le premier panneau principal toujours visible.
Tous les IDE, en un mot, a été examinée, y compris la zone centrale avec la fenêtre pour l'édition et le code graphique. N'avez-vous pas de signaler d'éventuelles modifications ou vous gâcher la surprise ...

Nouveau Flash CS3 IDE

En savoir plus ...

Flash: désactiver un champ de texte pour l'entrée

? Comme le handicap est un TextField pour l'entrée Depuis la propriété enabled n'est pas disponible, vous pouvez utiliser un simple artifice: l'état d'exécution changement de l'objet TextField. Heureusement, les développeurs Flash ont la permission de modifier le statut d'un TextField également exécuter à travers la propriété type . Il s'ensuit que si un objet TextField est ajouté à la scène comme entrée (et donc type="input" ), par le code, nous pouvons en faire un texte "statique". En réalité, il se transforme en texte dynamique ( type="dynamic" ), mais le résultat visuel est le même. L'artifice fonctionne parce que le TextField TextField entrée des propriétés dynamiques partagent le même text . Donc, si je suis entré du texte dans un TextField entrée quand il transformé en un champ de texte dynamique ne fera que l'impression de ne pas être en mesure d'insérer des caractères! Que je désactivé entrée TextField!

L'objet TextField peut également être étendue en tant que MovieClip, alors nous pouvons utiliser le code suivant utile:

1
2
3
prototype . Enabled = function ( v : Boolean ) { TextField .. prototype a permis = function (v: Boolean ) {
type = v ? "input" : "dynamic" ; .? ce type = v "entrée": "dynamique";
};

En savoir plus ...

Créer modale MovieClip TopMost

di Flash. Illustrer une technique pour créer des composants symboles modales (MovieClip) pour être utilisés de manière similaire au Alert et Window de Flash. L'objectif est de montrer un clip ci-dessus tous les autres, la désactivation - bien - l'accès à la sous-jacent et tout autre objet / composant présent. Pour être honnête, j'ai réalisé que, ce faisant un peu de code de l'ingénierie inverse à partir d'Adobe, qui est en clair! Je n'ai vraiment résisté ;)

Le artefizio qui est utilisé pour désactiver toutes les interfaces présentes ci-dessous notre MovieClip, est de créer un MovieClip transparente qui prend toute la surface de la scène. a false . A ce MovieClip, qui ne sera pas assez visible, s'enclenche une méthode «vide» sur l'événement onRelease , en prenant soin de définir le useHandCursor à false .

Nous avons d'abord créer un film avec n'importe quelle interface dans la scène principale:

Interface

En savoir plus ...



Arrêtez SOPA