2016-10-25 1 views
0

J'ai besoin d'aide pour créer des formes personnalisées dans Actionscript 2, je veux créer un rectangle arrondi, en utilisant uniquement du code .. Je veux être en mesure de spécifier combien de courbe je veux sur chaque coin .. si c'est possible .. Je sais que c'est possible dans Actionscript 3 .. mais je n'ai pas entrer dans actionscript 2 beaucoup .. Alors ma question est .. Comment puis-je faire un rectangle arrondi dans Actionscript 2 avec des coins personnalisés en utilisant seulement du code ? Raison pour laquelle je besoin des courbes personnalisées est que je veux être en mesure de rendre le haut du rectangle complètement carré et le fond ont des bords arrondis, Merci à l'avanceActionscript 2: Création de formes personnalisées

Répondre

0

figured it out .. Merci à quelques recherches Just Had de modifier

function drawRoundedRectangle(target_mc:MovieClip, boxWidth:Number, boxHeight:Number, cornerRadius:Number, fillColor:Number, fillAlpha:Number):Void { 
with (target_mc) { 
beginFill(fillColor, fillAlpha); 
moveTo(cornerRadius, 0); 
lineTo(boxWidth - cornerRadius, 0); 
curveTo(boxWidth, 0, boxWidth, cornerRadius); 
lineTo(boxWidth, cornerRadius); 
lineTo(boxWidth, boxHeight - cornerRadius); 
curveTo(boxWidth, boxHeight, boxWidth - cornerRadius, boxHeight); 
lineTo(boxWidth - cornerRadius, boxHeight); 
lineTo(cornerRadius, boxHeight); 
curveTo(0, boxHeight, 0, boxHeight - cornerRadius); 
lineTo(0, boxHeight - cornerRadius); 
lineTo(0, cornerRadius); 
curveTo(0, 0, cornerRadius, 0); 
lineTo(cornerRadius, 0); 
endFill(); 

Source du code: How can i draw a round rectangle as2

Les changements que sont faits ici

beginFill(fillColor, fillAlpha); 
moveTo(cornerRadius, 0); 
lineTo(boxWidth, 0); 
curveTo(boxWidth, 0, boxWidth, cornerRadius); 
lineTo(boxWidth, cornerRadius); 
lineTo(boxWidth, boxHeight - cornerRadius); curveTo(boxWidth, boxHeight, boxWidth - cornerRadius, boxHeight); 
lineTo(boxWidth - cornerRadius, boxHeight); 
lineTo(cornerRadius, boxHeight); 
curveTo(0, boxHeight, 0, boxHeight - cornerRadius); 
lineTo(0, boxHeight - cornerRadius); 
lineTo(0, cornerRadius); lineTo(0, 0); 
endFill();