AS3 مدور نص الميدان
-
11-07-2019 - |
سؤال
لا أحد يعرف كيفية إنشاء حيز النص الديناميكي مع حد واضح وتدوير الزوايا في AS3؟
وأعتقد أنني قد يلزم الأمر إنشاء مقطع فيلم مدورة، وحجمها ووضعها وراء النص.
وحاولت ذلك، ولكن أنا لا أرى أية تغييرات.
var styleRound:StyleSheet = new StyleSheet();
styleRound.parseCSS("h4{cornerRadius:10;borderStyle: solid; borderThickness: 1;}");
tf.htmlText = "<h4>" + hotspotData.caption + "</h4>";
tf.styleSheet = styleRound;
المحلول
وهنا لائحة من الأنماط CSS المتاحة للالحقول النصية في أكشن 3 . عذرا، لا يوجد نصف قطر الزاوية.
ويمكنك بدوره على الحدود لحيز النص على الحقل النصي كائنات <لأ href = "http://livedocs.adobe.com/flex/3/langref/flash/text/TextField.html#border" يختلط = " noreferrer "> الممتلكات الحدود . ولكن ليس هناك خاصية المتاحة لجولة الزاوية.
وأقترح عليك إنشاء مكون جديد وإضافة الحدود نفسك كما العفريت تحت الحقل النصي. شيء من هذا القبيل:
package
{
import flash.display.Graphics;
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class TextBorder extends Sprite
{
private static const CORNER_RADIUS:int = 5;
// display objects
private var background:Sprite;
private var field:TextField;
// properties
private var _text:String;
public function TextBorder()
{
background = new Sprite;
field = new TextField;
field.autoSize = TextFieldAutoSize.LEFT;
addChild(background);
addChild(field);
// TESTING:
text = "Hello World";
}
public function set text(newText:String):void
{
_text = newText;
display();
}
public function get text():String
{
return _text;
}
private function display():void
{
field.text = _text;
var g:Graphics = background.graphics;
g.clear();
g.lineStyle(0, 0x0);
g.beginFill(0xFFFFFF);
g.drawRoundRect(0, 0, field.width, field.height, CORNER_RADIUS);
}
}
}
نصائح أخرى
وانتهى بي الأمر خلق المستطيل تقريب في ومضة وتصديره كما فئتها الخاصة - hotspotBG
var hotspotBackground:hotspotBG = new hotspotBG();
hotspotBackground.width = textField.width + 10;
caption.addChild(hotspotBackground);
وأنت لا يمكن تغيير ذلك النفس حقل النص، اعتبارا من 2014 فلاش لا تسمح بذلك.
ما يمكنك القيام به هو حذف الخلفية والحدود، والتي ستترك حقل النص شفافة تماما، ثم إضافة صورة (أداة المستطيل هو أسهل طريقة للقيام بذلك) في مركز الظهير حقل النص، ذلك أن حقل النص في أعلى الصورة (ض محور الحكيم)
قد لا يكون الطريقة التي فكرت في الجحيم ولكن يعمل!
و//you are deleting the background and the borders
//and replacing them with an image
textbox.background=false;
textbox.border=false;
هل يمكن أن مجرد استخدام أنماط CSS؟ شيء من هذا القبيل:
TextInput {
borderStyle: solid;
borderThickness: 1;
cornerRadius: 2;
}
وأنا لم تختبر هذا، ولكن هذا يجب أن تعطيك زاوية مدورة.