2010-06-13 36 views
1

est-il possible d'aligner le coup d'un graphique avec actionscript? par exemple, le code suivant crée un rectangle arrondi noir avec un trait gris aligné automatiquement au centre.ActionScript Aligner le trait de style de trait graphique?

var t:Sprite = new Sprite(); 
t.graphics.lineStyle(5, 0x555555); 
t.graphics.beginFill(0, 1); 
t.graphics.drawRoundRect(25, 25, 200, 75, 25, 25); 
t.graphics.endFill(); 

La fonction lineStyle ne semble pas offrir de fonctionnalité intégrée pour l'alignement du trait. Dans Adobe Illustrator, vous pouvez aligner un trait sur le centre (moitié dans/moitié du remplissage), à ​​l'intérieur (bord à l'intérieur du remplissage) ou à l'extérieur. (Border à l'extérieur du remplissage).

Répondre

4

Ceci n'est pas supporté par Flash (même dans l'interface graphique). Vous devrez modifier les paramètres drawRoundRect pour simuler cet effet.

var strokeWidth:Number = 5; 
var strokeAlign:String = 'outer'; 
var t:Sprite = new Sprite(); 
t.graphics.lineStyle(strokeWidth, 0x555555); 
t.graphics.beginFill(0, 1); 
if (strokeAlign == 'outer') { 
    t.graphics.drawRoundRect(25 - strokeWidth/2, 25 - strokeWidth/2, 200 + strokeWidth, 75 + strokeWidth, 25 + strokeWidth/2, 25 + strokeWidth/2); 
} else if (strokeAlign == 'inner') { 
    t.graphics.drawRoundRect(25 + strokeWidth/2, 25 + strokeWidth/2, 200 - strokeWidth, 75 - strokeWidth, 25 - strokeWidth/2, 25 - strokeWidth/2); 
} else { 
    t.graphics.drawRoundRect(25, 25, 200, 75, 25, 25); 
} 
t.graphics.endFill();