2009-07-13 13 views
6

आप वर्कस्क्रिप्ट 3.0 में टेक्स्ट फ़ील्ड को कैसे घुमाते हैं? जैसे ही मैं टेक्स्ट फ़ील्ड की रोटेशन प्रॉपर्टी बदलता हूं, यह प्रदर्शित नहीं होता है।एक्शनस्क्रिप्ट: मैं टेक्स्ट फ़ील्ड को कैसे घुमा सकता हूं?

उदाहरण के लिए

:

var txtFld:TextField = new TextField(); 
txtFld.x = 100; 
txtFld.y = 100; 
txtFld.width = 300; 
txtFld.height = 300; 
txtFld.text = "Test String"; 
txtFld.rotation = 90; 
addChild(txtFld); 

उत्तर

8

आदेश घुमाया पाठ को देखने के लिए, आप फ़ॉन्ट एम्बेड करने के लिए होगा।

5

एक विकल्प है, BitmapData::draw का उपयोग कर और फिर एक Bitmap बनाने परिणाम युक्त एक BitmapData में पाठ फ़ील्ड कॉपी करने के लिए, और कहा कि एक प्रदर्शन सूची के बजाय जोड़ने मूल TextField ...

इसका बहुत बड़ा फायदा है, आपको फ़ॉन्ट को एम्बेड करने की आवश्यकता नहीं है, जो swf filesize को कम करता है ... ओटीओएच, आप टेक्स्टफिल्ड्स की इंटरएक्टिविटी को खो देंगे, और एसएफएफ खेलते समय अधिक रैम की आवश्यकता होगी, लेकिन बाद वाला बहुत महत्वपूर्ण नहीं है ...

पाठ को चिकनी दिखने के लिए, Bitmap::smoothing से true पर सेट करें ... यह भी मदद करता है, यदि आप अपनी छवि को एक उच्च रिज़ॉल्यूशन पर प्रस्तुत करते हैं ... छद्म एंटी-एलियासिंग, तो बोलने के लिए ... पाठ को चित्रित करते समय एक Matrix कारक 2 से बढ़ाए गए हैं कि जिस तरह से बेहतर लग रही होगी ...

greetz

back2dos

0
var txtFld:TextField = new TextField(); 
txtFld.x = 100; 
txtFld.y = 100; 
txtFld.width = 300; 
txtFld.height = 300; 
txtFld.text = "Test String"; 

txtFld.embedFonts = true; // to embed the font ... now roation works 

txtFld.rotation = 90; 
addChild(txtFld); 
1

मैं बस चाहता था गुजरती हैं और कारक 2 से Bitmap नीचे पैमाने पर ... इस सवाल में अपना अनुभव जोड़ने के लिए। मैं भी पाठ घुमाने के लिए चाहता था।

सबसे पहले, मैंने केवल एक्शनस्क्रिप्ट का उपयोग करके फ़ॉन्ट एम्बेड किया।

Embed(source="C:\\WINDOWS\\Fonts\\CALIBRI.TTF", fontFamily="Calibri")] 
public static const FONT_CALIBRI:Class; 
... 
var font:Font = new Global.FONT_CALIBRI as Font; 
//Font.registerFont(Global.FONT_CALIBRI); //I tried various other things... 

लेकिन हर बार जब मैं embedFonts = true निर्धारित करते हैं, पाठ गायब हो जाते हैं। अंत में मैंने और embedded the font using Flash दिया।

var font:Font = new FontClass as Font; //FontClass was exported from Flash IDE 

आखिर में काम किया।

var textFormat:TextFormat = new TextFormat(font.fontName); 

textField = new TextField(); 
textField.defaultTextFormat = textFormat; //must be before setting the text 
textField.embedFonts = true; //needed to rotate fonts 
textField.autoSize = TextFieldAutoSize.CENTER; 
textField.antiAliasType = flash.text.AntiAliasType.ADVANCED; 
textField.text = ("TESTING") 
this.addChild(textField); 

ओह, मैं किसी भी चीज़ के लिए फ्लैश आईडीई का उपयोग कैसे करता हूं। यदि कोई फ़्लैश का उपयोग किए बिना ऐसा करने में सक्षम था, तो कृपया साझा करें!

1

यह मेरे लिए काम करता है।

सीएस 5 में, मुझे काम करने के लिए फ़ॉन्ट एम्बेडिंग संवाद बॉक्स में एक सेटिंग बदलने की आवश्यकता थी।

फ़ॉन्ट एम्बेडिंग संवाद दिखाने के लिए, या तो वर्ण पैनल में एम्बेड करें बटन पर क्लिक करें या लाइब्रेरी में फ़ॉन्ट प्रतीक पर डबल-क्लिक करें।

फिर, उस फ़ॉन्ट का चयन करें जिसे आप घूमने में सक्षम होना चाहते हैं और एक्शनस्क्रिप्ट टैब पर क्लिक करें।

अंत में, एक्शनस्क्रिप्ट चेकबॉक्स के लिए निर्यात की जांच करें। डिफ़ॉल्ट छोड़ दें और ठीक क्लिक करें।

textField = new TextField(); 
textField.autoSize = TextFieldAutoSize.LEFT; 
textField.embedFonts = true; 

format.font = "Arial"; // Or whatever the name of your font is in the embed dialog 
format.size = 24; 
textField.defaultTextFormat = format; 

addChild(textField); 

तो तब के रूप में के माध्यम से उस क्षेत्र के लिए रोटेशन लागू होते हैं, मैं अभी भी फॉन्ट देखें:

नीचे कोड है कि मैं का इस्तेमाल किया है।

संबंधित मुद्दे