Création : le Factory Method Pattern

Le 29 juillet 2011 - Design Patterns, Tutoriaux  -  1 Commentaire

Le rôle d'une Factory est d'instancier des objets de différents types sans spécifier la classe de l'objet qui sera créer. Son avantage est d'éviter la redondance entre ces classes.
Les Factory Method sont en général implémenter par un Singleton.

package
{
public class ProductFactory
{
public

LIRE >

Création : le Singleton Pattern

Le 27 juillet 2011 - Design Patterns, Tutoriaux  -  Pas de commentaires

Le Singleton est utilisé un peu partout, comme par exemple pour les classes mx.managers (DragManager, CursorManager, …). On l'utilise par exemple pour enregistrer des données persistantes (ex: score d'un jeu). Son intérêt est de posséder une et une seule instance de la classe. Elle est accessible de partout et doit donc avoir un seul point d'accès global.

package
{
public class Singleton
[...]

LIRE >

Différence entre currentTarget et target

Le 3 juin 2011 - Tutoriaux  -  Pas de commentaires

Lorsque l'on ajoute un écouteur sur un objet, un objet Event est transmis comme paramètre quand un évènement se produit.

this.addEventListener(MouseEvent.CLICK, clickHandler);
 
private function clickHandler(event:Event):void

LIRE >

Exemple d'utilisation de QuickB2

Le 26 mai 2011 - Jeux, Tutoriaux  -  Pas de commentaires
box2d_ex

Comme présenté ici QuickB2 est une version simplifié de Box2D. Vous pouvez bien sur consulter les exemples avec sources sur leur site internet ou dans le moteur (QuickB2_0_6\QuickB2\examples\qb2DemoReel\).
Sinon vous pouvez télécharger l'exemple que je vous ai préparé. J'ai simplement repris et allégé la classe CarDriving.as, ça pourrait en aider certains si vous avez du mal à l'installer ou à faire fonctionner les exemples. Voici ce que l'on obtiens :

This movie requires Flash Player 9

Et voici ma classe:

LIRE >

Présentation de QuickB2

Le 19 mai 2011 - Jeux  -  Pas de commentaires
box2d

QuickB2 ou Quick Box2D est la version simplifié (pas en fonctionnalités mais en complexité) de Box2D, un moteur physique 2D, et qui permet de faire tout ce qui était possible avec, mais beaucoup plus facilement (et rapidement). En effet, beaucoup trouvent Box2D très complexe à prendre en main, donc si c'est votre cas, QuickB2 va vous ravir!

Quelques fonctionnalités intéressantes :
- Soft-bodies (corps souples)
- Moteur physique pour véhicules (même la gestion des traces de pneus, etc…)
- Physique diverse
- Outils de debug
- [...]

LIRE >

Away3D : Panorama 360°, les différentes solutions

Le 16 mai 2011 - 3D, Molehill, Tutoriaux  -  6 Commentaires

Il y a deux principales solution pour faire un panorama à 360° libre (c'est à dire pas seulement horizontal) : utiliser un cube ou une sphère.

La Sphere
Pour réaliser le 360°, nous allons placer une HoverCamera3D à l'intérieur d'une sphère. La sphère n'étant mappé que de l'extérieur, il va falloir également inversé les faces comme ceci :

sphere.invertFaces();

Vous pouvez aussi simplement utiliser la propriété scaleX :

sphere

LIRE >

Différence entre ROLL_OVER et MOUSE_OVER

Le 11 mai 2011 - Tutoriaux  -  Pas de commentaires

Il y a deux évènements bien distinct pour le survol : MouseEvent.ROLL_OVER et MouseEvent.MOUSE_OVER. Beaucoup ont tendance à utiliser MOUSE_OVER car le nom est plus parlant (aussi car on le trouve en premier dans l'auto-complétion…), mais qu'en est il vraiment ?

Ces 2 évènements se comporte en fait différemment, ce qui peut parfois expliqué des bugs inexpliqués si on ne les utilisent pas comme il le faut.

La documentation officielle d'Adobe indique que MOUSE_OVER est déclenché lorsque la souris pénètre [...]

LIRE >

Installer Kinect sur Windows Vista

Le 10 mai 2011 - Webcam, Kinect  -  Pas de commentaires
une-kinect

Avant de vous présenter des tutoriaux et des expérimentations avec Kinect et Flash, commençons d'abord par l'installation de Kinect sur Windows.
L'installation est possible sur Windows XP, Vista, 7 mais je parlerais de Windows Vista ici comme c'est mon système.

Avant de commencer il va falloir télécharger OpenNi, Nite et SenSorKinect. Vous pouvez les télécharger ici, mais il y aura peut être des versions plus récentes lorsque vous lirez ce tuto.

Après l'extraction des fichiers, lancez OpenNI-Win32-v1.0.0.25.exe :


Cliquez sur Install.

LIRE >

Détection de mouvements a la webcam

Le 8 mai 2011 - Lab, Webcam, Kinect  -  Pas de commentaires
detection-mouvement

J'ai essayé plusieurs méthodes plus ou moins concluantes pour la détection de mouvement à la webcam. Les deux principaux problèmes que j'ai rencontré sont la dépendance du résultat par rapport à la qualité de la webcam (rafraîchissement, définition, bruit/nuisances) et de la zone d'action (peu performant au centre de l'écran du aux moments du corps qui font parasite).
Une des méthodes qui fonctionne le mieux est de comparer deux images capturées successives, et de faire la différences. Avec quelques traitement supplémentaires [...]

LIRE >

Away3D : Primitives, les principaux objets dont vous aurez besoin

Le 6 mai 2011 - 3D, Molehill, Tutoriaux  -  2 Commentaires
tutorial-away3d-part3

Nous allons voir ici les objets que l'on se sert le plus : Cube, Plane, Sphere, Triangle.

Triangle
Ce n'est pas la forme que l'on utilise couramment, mais il est utile de la voir car c'est la forme de base. En effet chaque objet est composé d'un nombre plus ou moins important de Triangles. Par exemple, Plane est composé par défaut de 2 triangles. Il peut être toutefois utilisé quand on doit représenter un très grand nombre d'objets, par exemple des [...]

LIRE >

Away3D : Caméra et mouvements de caméra

Le 5 mai 2011 - 3D, Molehill, Tutoriaux  -  Pas de commentaires
tutorial-away3d-part2

Il y a 3 différentes caméras sur Away3D : Camera3D, TargetCamera3D et HoverCamera3D. La caméra s'ajoute sur la vue View3d, de deux façons :

var camera:Camera3D = new Camera3D();
var view:View3D = new View3D({camera:camera});

ou

LIRE >

Away3D : Installation et première animation

Le 4 mai 2011 - 3D, Molehill, Tutoriaux  -  1 Commentaire

Voici le premier article d'une (assez) longue série de tutorial sur Away3D.

Déjà pourquoi Away3D plutôt qu'Alternativa3D, papervision, ou autre ? Mon choix s'est porté sur ce moteur qui est selon moi celui qui propose le meilleur compromis entre rapidité et performance. Alternativa3D est très performant mais il n'est pas Open Source et Papervision a été abandonné me semble t-il. Il y a de nouveaux concurrents avec l'arrivée de Molehill qui changera peut être la donne, mais il est trop tôt pour en juger.

Installation
Donc on va commencer par le tout [...]

LIRE >

Away3D : rotations de cubes

Le 3 mai 2011 - 3D, Molehill, Lab  -  2 Commentaires
Rotation 3d avec away3d

J'avais beaucoup aimé le site http://www.momentoftruth.com/ qui avait remporté un FWA il y a quelques temps. L'animation de départ avec la rotation des cubes m'avait particulièrement plu (un ensemble de cubes 3D qui tournent). J'avais voulu testé Away3D pour l'occasion avec une animation sans prétention mais un peu similaire (bon ok c'est beaucoup plus simple) donc voici ce que ça donne (cliquez sur l'objet pour le faire tourner)

Le code est vraiment tout simple, le plus long à coder est le placement des cubes.

LIRE >

Isométrie : Calcul du pathfinder

Le 2 mai 2011 - Jeux, Tutoriaux  -  2 Commentaires
Moteur isométrique en as3

Dans la création d'un moteur isométrique, l'un des points clé est le déplacement des personnages. Pour cela il faut calculer le chemin le plus court pour aller d'un point A vers un point B, tout en évitant les obstacles. C'est ce que l'on appelle le pathfinder!

Pour être efficace, il doit réduire au maximum les opérations pour avoir une vitesse de calcul la plus réduite possible, afin de ne pas ralentir le déplacement du personnage (surtout pour les changement de directions, [...]

LIRE >