Lorsque vous utilisez Flash et Actionscript 3.0, vous risquez souvent de devoir répéter le code d'un projet à l'autre. Créer votre propre bibliothèque d'extraits de code réutilisables (sur snipplr.com par exemple) est un excellent moyen d'accélérer le développement. Découvrez ces 15 extraits que vous pourrez trouver utiles pour les intégrer à votre propre bibliothèque de code..
Certains des extraits suivants sont présentés ici comme des fonctions qui peuvent simplement être utilisées telles quelles. Bien que vous puissiez être en mesure de les insérer dans votre propre code si nécessaire, je vous recommande vivement de prendre le temps de vraiment examiner le code pour mieux comprendre ce qui se passe. Consulter des extraits de code est un excellent moyen d’apprendre de nouvelles techniques et d’améliorer vos compétences en programmation..
Snipplr est l’une des acquisitions les plus récentes d’Envato. Un référentiel d'extraits de code, un hub social et un ajout extrêmement utile à la ceinture d'outils Envato! Avec Snipplr, vous pouvez conserver tous vos extraits de code fréquemment utilisés au même endroit, accessible depuis n’importe quel ordinateur. Vous pouvez partager votre code avec d'autres visiteurs et utiliser ce qu'ils publient.
Vous pouvez suivre @snipplr sur Twitter et vous tenir au courant via la nouvelle page Facebook de Snipplr. Si vous souhaitez partager vos propres extraits AS3, ajoutez-les à Snipplr et laissez l'URL dans les commentaires.!
Utilisateur du marché? Pourquoi ne pas créer un lien vers votre compte Snipplr à partir de votre profil social Marketplace??Pour randomiser un tableau, nous bouclons sur sa longueur, en retirant un objet choisi au hasard, puis en le rajoutant à la position finale du tableau. Pensez à cela comme à un jeu de cartes où vous prenez une carte au hasard dans le jeu et déplacez-la au sommet de la pile, répétée pour le nombre total de cartes du jeu.
Il est important de noter que la méthode splice renvoie un tableau contenant l'objet supprimé et non l'objet lui-même, d'où l'ajout du [0]
après l'appel d'épissure pour référencer l'objet contenu.
C'est un moyen rapide de positionner des objets d'affichage dans une grille. Il utilise l'opérateur modulo (%
) pour positionner chaque objet d'affichage le long de l'axe x et du sol
méthode de la classe Math pour la position y.
Cet exemple crée 20 instances d’un objet d’affichage personnalisé appelé MyDisplayObject
positionner chaque instance dans une grille de 5 colonnes de large. Comme vous l'avez peut-être deviné, les deux 5 dans l'extrait représentent le nombre de colonnes dans la grille.
DisplayObjectContainer
, une classe parente des classes de conteneur les plus courantes telles que MovieClip et Sprite ne possède pas de méthode intégrée pour supprimer immédiatement tous les enfants. Pour supprimer tous les enfants, nous utilisons simplement une boucle while pour supprimer l'enfant qui occupe l'indice 0 dans la pile jusqu'à ce qu'il ne reste plus aucun enfant..
Pour obtenir l'URL complète telle qu'elle apparaît dans la barre d'adresse de votre navigateur Web, nous utilisons l'AS3 Interface externe
classe. Sans entrer trop dans les détails, sachez que, dans cet exemple, nous utilisons ExternalInterface pour accéder au DOM (Document Object Model) de la page HTML contenant notre code Flash..
Un inconvénient de ExternalInterface est que le fichier SWF doit être incorporé à la page HTML avec le paramètre "allowcriptaccess" défini sur "sameDomain" ou "always". Cela vous convient si vous contrôlez l'intégration d'un fichier SWF, mais vous ne pouvez malheureusement pas vous en fier si le fichier SWF peut être exécuté sur des sites Web tiers. N'oubliez pas d'ajouter import flash.external.ExternalInterface
en haut de votre document.
Alternativement, pour accéder à l’URL où réside le fichier SWF, nous pouvons accéder à la propriété url du fichier. LoaderInfo
objet appartenant à la racine de notre SWF. Notez qu'il s'agit de l'emplacement du fichier SWF et PAS de la page HTML dans laquelle il est incorporé. Il est important de faire cette distinction, car les fichiers SWF et HTML peuvent résider sur des domaines différents..
Savoir où un fichier SWF est en cours d'exécution est utile pour afficher du contenu spécifique à un domaine. Dans le contexte d'un jeu Flash, il se peut que les niveaux "bonus" ne soient disponibles que lorsque le fichier SWF s'exécute sur le site du développeur ou que les annonces soient affichées ou non..
Ceci est une fonction récursive qui prend une DisplayObjectContainer
(tel qu'un Sprite ou un MovieClip) et arrondit ses valeurs x et y et ses enfants. Il est récursif car la fonction s’appelle elle-même quand elle rencontre un enfant qui est aussi un DisplayObjectContainer
de sorte que ses enfants se font aussi arrondir. Ceci récursive la totalité de la liste d’affichage sous le message transmis. DisplayObjectContainer
, ses enfants, ses enfants, etc..
Le but de cette fonction est de s’assurer que le DisplayObjectContainer
et tous ses enfants sont assis sur des pixels entiers. Cela peut être important lorsque vous utilisez des graphiques qui ne reposent pas sur des pixels entiers, car cela les rend flous. Ceci est probablement le plus visible lorsque vous utilisez des polices de pixels.
Vous remarquerez que la première instruction if vérifie si la réponse est passée. DisplayObjectContainer
n'est pas la scène. Ceci est nécessaire car Stage hérite de DisplayObjectContainer
mais n'implémente pas les propriétés x et y (ainsi que plusieurs autres propriétés). Cela vous permet de passer en toute sécurité la scène en tant que paramètre de cette fonction qui contournera la position de tous les objets dans la liste d'affichage..
Générer un nombre aléatoire est souvent utile lors du développement d'applications dans AS3 (plus encore lors du développement de jeux). AS3 a une méthode intégrée de nombre aléatoire faisant partie de sa classe Math qui génère un nombre inférieur à 1 et supérieur ou égal à 0. Nous pouvons l’utiliser pour créer une fonction utile permettant de générer un nombre aléatoire entre deux autres nombres..
Extrait de code - Nombre aléatoire entre deux valeurs sur SnipplrDe manière similaire à la nécessité d'un nombre aléatoire, vous pouvez également avoir besoin d'un booléen aléatoire pour une utilisation dans une expression. Encore une fois, nous utilisons le au hasard
méthode de la classe Math pour simplement renvoyer true si au hasard()
génère un nombre supérieur ou égal à 0,5 ou faux si moins.
C’est un autre fragment utilisé par les développeurs de jeux pour trouver l’angle entre deux points d’un plan. Cette fonction a quatre paramètres; la première paire étant les valeurs x et y de votre premier point et la seconde paire étant les valeurs x et y de votre deuxième point.
Il est important de noter que cette fonction retourne l'angle en radians PAS en degrés.
Extrait de code - Trouver l'angle entre deux points sur SnipplrLorsque vous traitez avec des équations impliquant des angles, vous aurez souvent affaire à des radians et non à des degrés. Les objets d'affichage dans Flash utilisent des degrés quand ils traitent avec leur propriété de rotation, nous avons donc besoin d'un moyen de convertir les deux. Ces fonctions d’aide sont utiles pour accomplir cela; un pour convertir des radians en degrés et l'autre en radians.
Extrait de code - Conversion entre radians et degrés sur SnipplrLorsque vous acceptez la saisie d'un utilisateur via un formulaire, il est souvent nécessaire de valider les données avant de permettre leur envoi à un script back-end. Cela est particulièrement vrai pour les adresses électroniques car elles constituent souvent le seul point de contact entre vous et l'utilisateur et sont importantes pour bien faire les choses. La fonction ci-dessous utilise une expression régulière pour confirmer que le courrier électronique est d'un format valide..
Extrait de code - Validation de courrier électronique sur SnipplrSi vous n'êtes pas sûr de ce qu'est une expression régulière, assurez-vous de lire cet article sur wikipedia ainsi que la documentation AS3 pour le type RegExp. Assurez-vous également de vérifier la validation de diverses données d'entrée dans Flash.
De la même manière que vous devez souvent formater les données envoyées à partir de Flash, vous devez parfois formater les données reçues. Cette fonction prend une chaîne et en supprime tous les espaces. Ici, nous utilisons la méthode split de la classe String pour scinder la chaîne en un tableau, puis appelons la méthode join de la classe Array pour la reconvertir en chaîne. Ceci est utile lorsqu'il s'agit d'une chaîne dont vous savez qu'elle ne peut pas contenir d'espaces tels qu'une adresse électronique, une URL ou un numéro de téléphone. Ceci retourne une nouvelle chaîne, laissant la chaîne d'entrée inchangée..
Extrait de code - Suppression de l'espace sur SnipplrSi vous vous demandez pourquoi nous n'utilisons pas d'expression régulière ici, c'est simplement parce que cette méthode s'exécute plus rapidement..
Wikipedia décrit une limace comme
partie d'une URL qui identifie une page à l'aide de mots-clés lisibles par l'homme
Une limace est généralement composée de quelques mots, chaque mot étant séparé par un caractère de délimitation, généralement un trait de soulignement ou un trait d'union. Une version slugifiée de la chaîne "10 conseils pour une vie meilleure!" serait "10 conseils pour une vie meilleure".
Cette fonction prend une chaîne arbitraire et convertit pour une utilisation en tant que slug. Pour ce faire, nous utilisons deux expressions régulières: la première permet de supprimer tout caractère autre qu'un mot, un espace ou un trait d'union, la seconde remplace tout espace par un seul trait d'union. Enfin, nous convertissons la chaîne en minuscule. Ceci retourne une nouvelle chaîne, laissant la chaîne d'entrée inchangée..
Extrait de code - Slugify on SnipplrSi vous vous demandez où cela pourrait être utilisé dans le contexte de Flash, il est particulièrement utile avec SWFAddress pour créer des URL conviviales pour le référencement pour les sections discrètes de votre application..
http: //
ou https: //
À partir d'une chaîne, éventuellement supprimée www.
Cette fonction prend une chaîne et retourne une copie avec toutes les occurrences de http: //
et https: //
enlevé. La chaîne "Veuillez visiter http://example.com pour en savoir plus" sera convertie en "Veuillez visiter exemple.com pour en savoir plus". Généralement, cela est plus compact, car http: // est redondant lorsque vous vous référez de toute évidence à une URL..
En option, cette fonction peut également supprimer la www
sous-domaine en passant true comme second paramètre. Il est défini par défaut sur false, car example.com et www.example.com pourraient en théorie contenir différents sites Web..
S'il y a un moment où vous chargez du texte à partir d'une source externe contenant un balisage HTML indésirable, utilisez la fonction suivante. Cela utilise une expression régulière pour supprimer toutes les balises HTML de la chaîne d'entrée. La ficelle "Cliquez ici pour en savoir plus"serait simplement converti en" Cliquez ici pour en savoir plus. "Ceci retourne une nouvelle chaîne, laissant la chaîne d'entrée inchangée..
Extrait de code - Supprimer le balisage HTML sur SnipplrLe chargement de XML, en particulier à partir de sources tierces, peut parfois s'avérer problématique lorsque le XML utilise des espaces de noms. Cet extrait prend un objet XML et supprime toutes les déclarations et les préfixes d'espace de nom. Ce fragment de code laisse le XML d'entrée inchangé et renvoie un nouvel objet XML..
Extrait de code - Supprimer les espaces de noms XML sur SnipplrIl est à noter que les espaces de noms existent pour une raison quelconque et que leur suppression peut poser problème. Cela pose généralement un problème uniquement lors de la combinaison de plusieurs fichiers XML provenant de sources différentes. Personnellement, je n’ai jamais vécu cela, mais j’ai encore du mal à me méfier.
J'espère que vous avez trouvé ces 15 extraits utiles. Écrire un code fonctionnel et réutilisable peut être une bonne habitude à prendre. Personnellement, je pense que consulter les extraits de code d'autres personnes est un excellent moyen d'apprendre des trucs et astuces auxquels vous n'auriez peut-être pas pensé auparavant..
Pour découvrir d'autres extraits, accédez à la section Actionscript de Snipplr. Si vous souhaitez partager vos propres extraits AS3, ajoutez-les à Snipplr et laissez l'URL dans les commentaires.!
Si vous avez apprécié cet article, veuillez consulter mon site sur ahrooga.com pour plus d'articles sur Flash.