ink-blog | Le blog d'un développeur ActionScript 3

Actionscript and iphone became freinds!!

Une nouvelle vient de tomber ; Apple enlève les restrictions concernant les outils de développement. On peut donc maintenant utilise flash pour publier des applications pour iPhone, iPad, et autres iBidule…

la source

(Français) Encore une petite classe, cette fois-ci pour passer du “mode” 3D au “mode” 2D : Matrix3DToMatrix

Read more ›

How to easely access to loaded swf’s classes.

Read more ›

Dessin en 3D native.

Salut à tous,

Dans mon délire de réinventer la roue, je me suis posé quelques questions élémentaires sur le dessin en 3D dans flash. Je ne parle pas tant du dessin artistique que de simplement tracer des traits. Et une des choses qui nous saute aux yeux dès que cette idée nous traverse l’esprit, est que flash ou l’ActionScript ne nous permettent pas de tracer des éléments en 3D. La seule chose que nous pouvons faire est tracer un trait, ou une courbe (ou même une forme), dans un espace en deux dimensions. Là j’entends déjà pas mal de monde dire (non je déconne vous êtes trois ;)) : “en même temps si on veut faire de la 3D on utilise une librairie comme Papervision ou Sandy et ça va marcher tout seul!!”. Ce qui est totalement juste. Cependant, comprendre les bases des choses que l’on utilise n’est pas forcément un mal en soi. Et, de temps en temps, il est plus simple et efficace de faire les choses avec juste le code qu’il faut, qu’utiliser des librairies lourdes, complexes et coûteuse en temps de compilation …Oui je ne suis pas patient et attendre trois plombes que mon swf compile m’exaspère. Surtout que c’est le genre d’actions que l’on ne fait pas qu’une fois :). Read more ›

Courbes de bézier (troisième étape : courbes multiples).

Plop!!

Pour en terminer avec les courbes de monsieur Bézier… Oui, enfin en terminer pas vraiment, il va sûrement y avoir un post sur les courbes de Bézier en 3D (faudrait que je songe à me renouveler tiens!!)… Donc!! Pour en finir avec les courbes de Bézier, voici une présentation des 2 autres classes qui permettent de jouer avec des courbes liées.

En gros l’idée est la suivante, en augmentant le nombre de points de contrôle d’une courbe on peut dessiner un tracé plus complexe. Seulement on complexifie aussi l’équation de la courbe et ça ce n’est pas spécialement ce que l’on souhaite faire. Du coup, pour pouvoir dessiner des courbes complexes tout en gardant une équation de degré relativement faible, on utilise des courbes de Bézier cubiques liées entre elles. Ce qui donne que l’ancre B de la première est l’ancre A de la seconde.

Une fois cette étape franchie, nous devons également faire en sorte que cette courbe (celle composée de plusieurs courbes) soit cohérente. C’est-à-dire que l’on ait pas l’impression que cette courbe est composée de plusieurs autres. Donc c’est déjà bien beau que deux courbes qui se suivent partagent une même ancre, mais que fait-on des points de contrôle qui y sont liés.
Tout d’abord, il est important de noter que la droite portée par le vecteur (contrôle B ancre B) est tangente à la courbe au point de ratio t = 1. Et que de façon générale, la droite portée par le vecteur (L3 R2) est tangente à la courbe en L4 (cf. image ci-dessous : wikipédia). Read more ›

Courbes de Bezier (deuxième étape).

Salut, Salut…

Voici la suite de mes tribulations à travers le monde merveilleux des courbes de Bezier :)

Pour commencer, intéressons nous à la première classe la plus “basique” j’ai nommée BezierCubic.
Cette classe est une classe de données, elle ne gère, ni ne génère aucun visuel. Elle permet simplement de récupérer des informations concernant une courbe donnée, définie par 4 points, deux ancres et deux points de contrôles.

Il est important de noter qu’elle gère les courbes de Bézier comme Illustrator ; c’est-à-dire que lorsque l’on modifie une ancre, le point de contrôle qui y est associé est également modifié, pour “suivre” la dite ancre.

Bon! Passons au choses sérieuses… Comment est ce que ça marche? Read more ›

Bon!! Et si on réinventait la roue? …ou au moins les courbes de Bézier. (première étape)

Salut tout le monde,

Suite à la demande d’un client j’ai commencé à m’intéresser de plus près aux courbes de Bézier. Pour ceux qui ne savent pas (il n’y a pas de honte moi-même un jour je ne l’ai pas su ;))  ce sont des courbes inventées par un ingénieur français de chez Renault dans les années 60, si ma mémoire ne me joue pas des tours, pour faire du dessin industriel de pièces automobiles. Elles sont à la base de dessin vectoriel et les logiciels comme flash ou illustrator les utilisent continuellement. (plus d’info par ici)

Seulement voilà, flash a beau les utiliser couramment, leur implémentation en AS3 est plutôt légère.

En effet, une des rares méthodes les utilisant est la méthode curveTo qui permet, certes, de tracer une courbe de Bézier (quadratique, alors que les plus utilisées sont les cubiques) mais ne permet ni de connaitre les coordonnées d’un point de la courbe ni la tangente de celle-ci en ce point. Ce qui empêche de pouvoir utiliser cette dernière comme guide pour un mouvement par exemple.

Pour palier ces problèmes j’ai développé une classe (en fait plusieurs) qui permet de gérer celles-ci. Ces classes sont des classes de données et non d’affichage, ainsi si on veut faire un guide on n’est pas obligé de le tracer ; on récupère juste les données nécessaires.

Voilà pour une mise en bouche un premier swf de test… le codes et les sources viendront un peu plus tard :)

lien vers le swf.

Avec ce temps rien de tel que de s’allonger dans l’herbe…

Salut tout le monde, bon ok pour l’instant je suis seul sur ce blog mais bon avec un peu de bol ça va peut-être changer !! :D

Pour commencer en douceur un tout petit post concernant 2 classes pour générer de l’herbe en Actionscript, la première pour le brin d’herbe et la seconde pour la pelouse…

Là, j’utilise les tweens d’adobe pour faire simple et que tout le monde puisse utiliser le code dès le début ; donc ce n’est pas vraiment super optimisé.

Read more ›

Hello world

Salut à tous,

Voici mon premier message d’une série qui je l’espère sera longue. En attendant que je poste un contenu un peu plus intéressant…

 

Essentials