eKameleon
unread,Feb 25, 2008, 6:44:58 PM2/25/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to VEGAS - ECMASCript & ActionScript OpenSource framework
Hello :)
Petit message rapide avant d'aller me coucher ^_^
Je viens rapidement de porter mon implémentation AS3 (un peu
différemment malgré tout) des interfaces pegas.draw.IFillStyle et
pegas.draw.ILineStyle...
Du coup après un peu de customisation de la classe AbstractPen et de
son interface IPen on peut utiliser maintenant les propriétés
virtuelles "fill" et "line" pour définir avec une classe LineStyle,
LineGradientStyle, FillStyle, FillGradientStyle, FillBitmapStyle les
styles des pen utilisés dans une application.
En AS2 on peut donc utiliser la méthode drawShape( ...arguments ) à la
place de la méthode draw( ...arguments ) pour lancer le dessin de la
forme avec en option la possibilité d'effacer la forme automatiquement
(avec la propriété useClear:Boolean) et de fermer le remplissage de
celle ci automatiquement (avec la propriété useEndFill:Boolean)
Exemple :
import pegas.draw.Align ;
import pegas.draw.EllipsePen ;
import pegas.draw.LineStyle ;
import pegas.draw.FillStyle ;
createEmptyMovieClip("canvas_mc", 1) ;
canvas_mc._x = 740 / 2 ;
canvas_mc._y = 200 ;
var ellipse:EllipsePen = new EllipsePen(canvas_mc) ;
ellipse.line = new LineStyle( 2, 0xFFFFFF, 100 ) ;
ellipse.fill = new FillStyle( 0xFF0000, 100 ) ;
ellipse.drawShape(0, 0, 100, 80, Align.BOTTOM_LEFT) ;
Key.addListener(this) ;
var onKeyDown:Function = function():Void
{
var align:Number ;
switch(Key.getCode())
{
case Key.UP :
{
align = Align.BOTTOM ;
break ;
}
case Key.DOWN :
{
align = Align.TOP ;
break ;
}
case Key.LEFT :
{
align = Align.LEFT ;
break ;
}
case Key.RIGHT :
{
align = Align.RIGHT ;
break ;
}
}
ellipse.line = new LineStyle( 2, 0xFFFFFF, 100 ) ;
ellipse.fill = new FillStyle( 0x2083AC , 100 ) ;
ellipse.drawShape(0, 0, 100, 80, align) ;
}
Pour ceux qui ont déjà utilisé la version AS3 du package pegas.draw...
la version AS2 fonctionne à l'envers lol Faut dire que j'ai pas
inversé les méthodes draw() et drawShape() pour garder la
compatibilité avec toutes mes applications en cours de maintenance...
Je ne devais pas implémenter ces outils en AS2 à la base.. du coup bah
on fera avec ;)
Vous aurez remarquer que j'ai changé le nom des propriétés virtuelles
"fill" et "line" ... et je ferais dans peu de temps le même
refactoring dans la version AS3 du package car pour le moment je ne
m'étais pas rendu compte que la propriété virtuelle lineStyle rentre
en conflit dans les IPen AS3 avec la méthode lineStyle de celui ci !
J'ai implémenté finalement ces outils en AS2 car cela va me permettre
de finir rapidement les quelques projets AS2 que j'ai encore en
production ... pfffff
Avec la sortie de Flex3 et de Air aujourd'hui et mon framework AS3 qui
est maintenant au mieux de sa forme avec IOC & co.... j'ai vraiment du
mal à continue à coder en AS2 !! x_x
EKA+ :)