2016-10-25 5 views
0

Мне нужна помощь в создании пользовательских фигур в ActionScript 2, я хочу создать Rounded Rectangle, используя только код. Я хочу иметь возможность указать, какую часть кривой я хочу на каждой угол .. если это возможно .. Я знаю, что это возможно в ActionScript 3 .. но я didnt получить в actionscript 2 много .. Так что мой вопрос .. Как сделать округленный прямоугольник в Actionscript 2 с пользовательскими углами, используя ничего, кроме кода ? Причина мне нужно пользовательские кривые, я хочу, чтобы быть в состоянии сделать в верхней части прямоугольника полностью квадратными и нижние имеет закругленные края, спасибо заранееActionscript 2: Создание пользовательских фигур

ответ

0

Фигурные его .. Благодаря некоторым исследующему Просто пришлось изменить

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(); 

Источник Код: How can i draw a round rectangle as2

изменения, которые я сделал здесь

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();