Paket | flash.text.engine |
Sınıf | public final class TextBlock |
Miras Alma | TextBlock Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Unicode iki yönlü ve satır kesme algoritmaları aynı anda bir paragrafta çalıştığından, TextBlock sınıfı tek bir paragraf içerecek şekilde tasarlanmıştır. Birden çok metin paragrafından oluşan uygulamalar için, metni paragraflara ayırmak üzere bir işaretleme dili veya metin çözümlemesi kullanın ve her paragraf için bir TextBlock oluşturun.
TextBlock nesnesi içeriklerini, ContentElement sınıfının bir örneği olan content
özelliğinde saklar. ContentElement sınıfının bir örneğini oluşturamayacağınızdan, content
öğesini, alt sınıflarından birine ayarlayın: TextElement, GraphicElement veya GroupElement. Yalnızca metin içeriği için TextElement öğesini, görüntü veya grafik içeriği için GraphicElement öğesini ve TextElement, GraphicElement ve diğer GroupElement nesnelerinin birleşimini içeren içerik için GroupElement öğesini kullanın. Biçimlendirilmiş metin çalıştırmalarının, gömülü alt çalıştırmaların ve grafik öğelerinin yönetimiyle ilgili ayrıntılar için ContentElement sınıfına ve bu sınıfın alt sınıflarına bakın.
TextBlock örneğini oluşturup content
özelliğini ayarladıktan sonra, TextLine
sınıfının örnekleri olan metin satırlarını oluşturmak için createTextLine()
yöntemini çağırın.
İlgili API Öğeleri
GraphicElement
GroupElement
TextBaseline
TextElement
TextJustifier
TextLine
TextRotation
TabStop
Özellik | Tanımlayan: | ||
---|---|---|---|
applyNonLinearFontScaling : Boolean
Ne görürsen onu alırsın (WYSIWYG) yazdırma doğruluğundan sapılacak olsa da, ekran görünümünü geliştirmek istediğinizi belirtir. | TextBlock | ||
baselineFontDescription : FontDescription
İçeriklerinden bağımsız olarak, bloktan oluşturulan tüm satırların taban çizgilerini belirlemek için kullanılan font. | TextBlock | ||
baselineFontSize : Number
Bloktan oluşturulan satırların taban çizgilerini hesaplamak için kullanılan font boyutu. | TextBlock | ||
baselineZero : String
Bu bloktan oluşturulan satırlar için hangi taban çizgisinin y=0 konumunda olduğunu belirtir. | TextBlock | ||
bidiLevel : int
Metin bloğunun çift yönlü paragraf gömme seviyesini belirtir. | TextBlock | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
content : ContentElement
Metin bloğunun içeriklerini tutar. | TextBlock | ||
firstInvalidLine : flash.text.engine:TextLine [salt okunur]
Metin bloğundaki, TextLine.validity öğesinin TextLineValidity.VALID öğesine eşit olmadığı birinci satırı tanımlar. | TextBlock | ||
firstLine : flash.text.engine:TextLine [salt okunur]
Varsa, TextBlock içindeki birinci TextLine. | TextBlock | ||
lastLine : flash.text.engine:TextLine [salt okunur]
Varsa, TextBlock içindeki sonuncu TextLine. | TextBlock | ||
lineRotation : String
Metin bloğundaki metin satırlarını bir birim olarak döndürür. | TextBlock | ||
tabStops : Vector.<flash.text.engine:TabStop>
Metin bloğundaki metnin sekme duraklarını, TabStop nesnelerinin Vector öğeleri şeklinde belirtir. | TextBlock | ||
textJustifier : flash.text.engine:TextJustifier
Satır oluşturma sırasında kullanılacak TextJustifier öğesini belirtir. | TextBlock | ||
textLineCreationResult : String [salt okunur]
createTextLine() işleminin sonucunu belirtir. | TextBlock | ||
userData : *
Uygulamaya, rastgele verileri metin bloğuyla ilişkilendirme yolu sağlar. | TextBlock |
Yöntem | Tanımlayan: | ||
---|---|---|---|
TextBlock(content:ContentElement = null, tabStops:Vector.<flash.text.engine:TabStop> = null, textJustifier:flash.text.engine:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)
Bir TextBlock nesnesi oluşturur
| TextBlock | ||
createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Metin bloğunu kendi içeriğinden bir metin satırı oluşturacak şekilde yönlendirir. Bu metin satırı previousLine parametresi tarafından belirtilen noktada başlar ve width parametresi tarafından belirtilen noktada kesilir. | TextBlock | ||
TextBlock öğesinin temel içeriğini bir XML dizesi olarak atar. | TextBlock | ||
Belirtilen dizindeki karakteri dahil etmeden belirtilen karakter dizininden bir sonraki atom sınırının dizinini bulur. | TextBlock | ||
Belirtilen dizindeki karakteri dahil etmeden belirtilen karakter dizininden bir sonraki kelime sınırının dizinini bulur. | TextBlock | ||
Belirtilen dizindeki karakteri dahil etmeden belirtilen karakter dizinine giden bir önceki atom sınırının dizinini bulur. | TextBlock | ||
Belirtilen dizindeki karakteri dahil etmeden belirtilen karakter dizininden bir önceki kelime sınırının dizinini bulur. | TextBlock | ||
charIndex parametresi tarafından belirtilmiş karakteri içeren TextLine öğesini döndürür. | TextBlock | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
recreateTextLine(textLine:flash.text.engine:TextLine, previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Metin bloğunu kendi içeriğinden bir metin satırı oluşturacak şekilde varolan bir metin satırını kullanması için yönlendirir. Bu metin satırı previousLine parametresi tarafından belirtilen noktada başlar ve width parametresi tarafından belirtilen noktada kesilir. | TextBlock | ||
Metin bloğuna, metin satırı oluşturmayla ilişkili tüm geçici verileri yayınlamasını bildirir. | TextBlock | ||
Metin satırları aralığını, TextBlock tarafından tutulan satır listesinden kaldırır. | TextBlock | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object |
applyNonLinearFontScaling | özellik |
applyNonLinearFontScaling:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Ne görürsen onu alırsın (WYSIWYG) yazdırma doğruluğundan sapılacak olsa da, ekran görünümünü geliştirmek istediğinizi belirtir. Aygıt fontu oluşturma sırasında alt piksel glif konumlandırmasını desteklemeyen, ancak doğrusal olmayan ölçeklemeyi destekleyen platformlar ve fontlar için bu özelliğin true
olarak ayarlanması, özellikle küçük punto boyutları için WYSIWYG yazdırma doğruluğundan belirli ölçüde taviz vererek bu metriklerin kullanılmasını sağlar. Doğrusal olmayan font ölçekleme, piksel yapışmasından kaynaklanan düzensiz boşlukları gizlemek için tek tek gliflerin genişliğini seçici olarak ölçekleyerek çalışır.
Alt piksel glif konumlandırmasını desteklemeyen platformlarda bu bayrak yok sayılır.
Bu bayrağın gömülü font oluşturma üzerinde bir etkisi yoktur.
Varsayılan değer true
şeklindedir.
Uygulama
public function get applyNonLinearFontScaling():Boolean
public function set applyNonLinearFontScaling(value:Boolean):void
baselineFontDescription | özellik |
baselineFontDescription:FontDescription
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
İçeriklerinden bağımsız olarak, bloktan oluşturulan tüm satırların taban çizgilerini belirlemek için kullanılan font. Taban çizgileri font ve font boyutuna bağlıdır.
Varsayılan değer null
şeklindedir. Taban çizgisi fontu null
olduğunda, taban çizgisi font boyutu yok sayılır ve belirli bir satırın taban çizgisi, satırdaki en büyük metnin fontunu ve boyutunu esas alır. Hem baselineFontDescription
hem de baselineFontSize
öğelerini belirttiğinizde, bunlar içeriklerinden bağımsız olarak metin bloğundaki tüm satırların taban çizgilerini belirler. Bu birleşim daha çok Asya tipografisinde kullanışlıdır.
Uygulama
public function get baselineFontDescription():FontDescription
public function set baselineFontDescription(value:FontDescription):void
İlgili API Öğeleri
baselineFontSize | özellik |
baselineFontSize:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Bloktan oluşturulan satırların taban çizgilerini hesaplamak için kullanılan font boyutu. Taban çizgileri font ve font boyutuna bağlıdır.
12
varsayılan değerdir. Taban çizgisi fontu null
olduğunda, taban çizgisi font boyutu yok sayılır ve belirli bir satırın taban çizgisi, satırdaki en büyük metnin fontunu ve boyutunu esas alır.
Uygulama
public function get baselineFontSize():Number
public function set baselineFontSize(value:Number):void
Atar
ArgumentError — Belirtilen baselineFontSize 0'dan küçüktür.
|
İlgili API Öğeleri
baselineZero | özellik |
baselineZero:String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Bu bloktan oluşturulan satırlar için hangi taban çizgisinin y=0 konumunda olduğunu belirtir. Bu özelliğin geçerli değerleri TextBaseline
sınıfının üyelerinde bulunur.
TextBaseline.ROMAN
varsayılan değerdir.
Bu özelliğin değerlerini ayarlamak için, aşağıdaki dize değerlerini kullanın:
Dize değeri | Açıklama |
---|---|
TextBaseline.ROMAN | Satırların romence taban çizgisi y=0 konumundadır. |
TextBaseline.ASCENT | Satırların artan taban çizgisi y=0 konumundadır. |
TextBaseline.DESCENT | Satırların azalan taban çizgisi y=0 konumundadır. |
TextBaseline.IDEOGRAPHIC_TOP | Satırların ideografik üst taban çizgisi y=0 konumundadır. |
TextBaseline.IDEOGRAPHIC_CENTER | Satırların ideografik orta taban çizgisi y=0 konumundadır. |
TextBaseline.IDEOGRAPHIC_BOTTOM | Satırların ideografik alt taban çizgisi y=0 konumundadır. |
Uygulama
public function get baselineZero():String
public function set baselineZero(value:String):void
Atar
ArgumentError — TextBaseline üyesi olmayan herhangi bir değere ayarlanırsa.
|
İlgili API Öğeleri
bidiLevel | özellik |
bidiLevel:int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Metin bloğunun çift yönlü paragraf gömme seviyesini belirtir. Genel olarak, soldan sağa yazılan paragraflar (İngilizce, Japonca vb.) için 0, sağdan sola yazılan paragraflar (Arapça, İbranice vb.) için ise 1 kullanın. 0 veya 1 dışındaki değerlerin kullanımı özel durumlar için ayrılmıştır. Ayrıntılar için bkz. UAX#9, "Unicode Bidirectional Algorithm" (http://www.unicode.org/reports/tr9/).
Varsayılan değer 0'dır.
bidiLevel
öğesi değiştirildiğinde, önceden kesilmiş satırların geçerliliği TextLineValidity.INVALID olarak değişir. bidiLevel
özelliği değiştirildikten sonra, firstInvalidLine
özelliği firstLine
özelliğine eşit olur ve TextBlock içindeki tüm satırları yeniden kesmeniz gerekir.
Uygulama
public function get bidiLevel():int
public function set bidiLevel(value:int):void
Atar
ArgumentError — 0'dan düşük bir değere ayarlanırsa.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
bidiLevel
çift ile ve ikinci olarak bidiLevel
tek ile oluşturulmuş aynı metin dizesini (mantıksal sıralama: a, b, c, alef, bet, gimel) gösterir.
package { import flash.display.Sprite; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.ElementFormat; import flash.text.engine.FontDescription; public class TextBlock_bidiLevelExample extends Sprite { public function TextBlock_bidiLevelExample():void { var fontSize:Number = 36; var format:ElementFormat = new ElementFormat(); format.fontDescription = new FontDescription("Adobe Hebrew"); format.fontSize = fontSize; var y:Number = 0; var leading:Number = fontSize * 0.2; var text:String = "abc" + String.fromCharCode(0x05D0, 0x05D1, 0x05D2); var textBlock:TextBlock = new TextBlock(); textBlock.content = new TextElement(text, format); // bidiLevel even textBlock.bidiLevel = 0; var textLine = textBlock.createTextLine(null, 400); y += leading + textLine.ascent; textLine.y = y; y += textLine.descent; addChild(textLine); // bidiLevel odd textBlock.content = new TextElement(text, format); textBlock.bidiLevel = 1; textLine = textBlock.createTextLine(null, 400); y += leading + textLine.ascent; textLine.y = y; addChild(textLine); } } }
content | özellik |
content:ContentElement
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Metin bloğunun içeriklerini tutar. ContentElement bir taban sınıfı olduğundan, content
öğesine, ContentElement alt sınıfının bir örneğini atayın: TextElement, GraphicElement veya GroupElement. TextElement nesnesi bir String içerir, GraphicElement nesnesi bir DisplayObject içerir ve GroupElement öğesi TextElement, GraphicElement veya diğer GroupElement nesnelerinden birini veya birkaçını içeren bir Vector nesnesi içerir. Homojen bir metin paragrafı için TextElement öğesini, grafik için GraphicElement öğesini ve metin ve grafik öğelerinin veya bu öğelerin birçok örneğinin ve diğer GroupElement nesnelerinin birleşimi için GroupElement öğesini kullanın.
Varsayılan değer null
şeklindedir.
content
özelliği değiştirildiğinde, önceden oluşturulmuş olan tüm satırların geçerliliği TextLineValidity.INVALID
olarak değiştirilir. content
özelliği değiştirildikten sonra, firstInvalidLine
özelliği firstLine
özelliğine eşit olur ve TextBlock içindeki tüm satırları yeniden kesmeniz gerekir.
Uygulama
public function get content():ContentElement
public function set content(value:ContentElement):void
Atar
ArgumentError — ContentElement öğesinin bilinen bir alt sınıfı olmayan bir değere ayarlanırsa.
| |
ArgumentError — Belirtilen value zaten bir grubun üyesidir.
|
İlgili API Öğeleri
firstInvalidLine | özellik |
firstInvalidLine:flash.text.engine:TextLine
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Metin bloğundaki, TextLine.validity
öğesinin TextLineValidity.VALID
öğesine eşit olmadığı birinci satırı tanımlar.
Varsayılan değer null
şeklindedir.
Uygulama
public function get firstInvalidLine():flash.text.engine:TextLine
İlgili API Öğeleri
firstLine | özellik |
firstLine:flash.text.engine:TextLine
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Varsa, TextBlock içindeki birinci TextLine.
Varsayılan değer null
şeklindedir.
Uygulama
public function get firstLine():flash.text.engine:TextLine
İlgili API Öğeleri
lastLine | özellik |
lastLine:flash.text.engine:TextLine
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Varsa, TextBlock içindeki sonuncu TextLine.
Varsayılan değer null
şeklindedir.
Uygulama
public function get lastLine():flash.text.engine:TextLine
İlgili API Öğeleri
lineRotation | özellik |
lineRotation:String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Metin bloğundaki metin satırlarını bir birim olarak döndürür. Bunun etkili olması için, lineRotation
öğesini ayarladıktan sonra createTextLine()
yöntemini çağırın. Varsayılan değer TextRotation.ROTATE_0
olur.
Herhangi bir glifin son dönüşü, ElementFormat.textRotation
, ContentElement.textRotation
ve TextBlock.lineRotation
değerlerine bağlıdır.
Asya metni için tipik olarak TextBlock.lineRotation
kullanılır. Dikey Japonca metin paragrafı oluşturmak için şunları yapın:
TextBlock.lineRotation
özelliğiniTextRotation.ROTATE_90
olarak ayarlayın.- İçeriğin
ElementFormat.textRotation
özelliğini varsayılanTextRotation.AUTO
değerine ayarlayın.
Bu özelliğin değerini ayarlamak için, TextRotation
sınıfında tanımlanan şu sabitleri kullanın:
Dize değeri | Açıklama |
---|---|
TextRotation.ROTATE_0 | Satırlar döndürülmez. |
TextRotation.ROTATE_90 | Satırlar 90 derece saat yönünde döndürülür. |
TextRotation.ROTATE_180 | Satırlar 180 derece döndürülür. |
TextRotation.ROTATE_270 | Satırlar 270 derece saat yönünde döndürülür. |
TextRotation.AUTO | Desteklenmez. |
Uygulama
public function get lineRotation():String
public function set lineRotation(value:String):void
Atar
ArgumentError — TextRotation üyesi olmayan herhangi bir değere ayarlanırsa.
| |
ArgumentError — TextRotation.AUTO öğesine ayarlanırsa.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
lineRotation
özelliğini TextRotation.ROTATE_90 olarak ayarlar.
package { import flash.display.Sprite; import flash.text.engine.FontDescription; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.TextRotation; import flash.text.engine.ElementFormat; public class TextBlock_lineRotationExample extends Sprite { public function TextBlock_lineRotationExample():void { var Japanese:String = String.fromCharCode( 0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4, 0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC, 0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411, 0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6, 0x30E0, 0x30BA, 0x793E, 0x306E ) + "FMS 2" + String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068, 0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002); var fontDescription:FontDescription = new FontDescription("MS Mincho"); var format:ElementFormat = new ElementFormat(); format.fontSize = 15; format.fontDescription = fontDescription; var textElement:TextElement = new TextElement(Japanese, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; textBlock.lineRotation = TextRotation.ROTATE_90; var linePosition:Number = this.stage.stageWidth - 120; var previousLine:TextLine = null; while (true) { var textLine:TextLine = textBlock.createTextLine( previousLine, 300); if (textLine == null) break; textLine.y = 30; textLine.x = linePosition; linePosition -= 24; addChild(textLine); previousLine = textLine; } } } }
tabStops | özellik |
tabStops:Vector.<flash.text.engine:TabStop>
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Metin bloğundaki metnin sekme duraklarını, TabStop
nesnelerinin Vector öğeleri şeklinde belirtir.
Varsayılan değer null
şeklindedir ve herhangi bir sekme durağının belirtilmediği anlamına gelir. Herhangi bir sekme durağı belirtilmediyse (veya ekleme noktası son belirtilen sekme durağının ötesindeyse) çalışma zamanı varsayılan olarak yarım inçlik sekmeler oluşturur.
tabStops
özelliği ayarlandığında, TextBlock öğesi dahili kullanım için Vector öğesinin bir kopyasını oluşturur. Orijinal Vector öğesinin veya içeriklerinin değiştirilmesi, TextBlock öğesini etkilemez. tabStops
özelliği sorgulandığında, dahili Vector öğesinin bir kopyası döndürülür. Yine bu döndürülen vektör öğesinin veya içeriklerinin değiştirilmesi, TextBlock öğesini etkilemez.
Uygulama
public function get tabStops():Vector.<flash.text.engine:TabStop>
public function set tabStops(value:Vector.<flash.text.engine:TabStop>):void
Atar
ArgumentError — Belirtilen tabStops , null öğeler içerir.
| |
ArgumentError — Belirtilen tabStops , artan konuma göre sıralanmaz.
|
İlgili API Öğeleri
textJustifier | özellik |
textJustifier:flash.text.engine:TextJustifier
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Satır oluşturma sırasında kullanılacak TextJustifier öğesini belirtir.
Varsayılan değer, oluşturulmuş bir varsayılan TextJustifier nesnesidir.
textJustifier
özelliği ayarlandığında, TextBlock öğesi dahili kullanım için nesnenin bir kopyasını oluşturur. Orijinal nesnenin değiştirilmesi, TextBlock öğesini etkilemez. textJustifier
özelliği sorgulandığında, dahili nesnenin bir kopyası döndürülür. Yine bu döndürülen nesnenin değiştirilmesi, TextBlock öğesini etkilemez.
Uygulama
public function get textJustifier():flash.text.engine:TextJustifier
public function set textJustifier(value:flash.text.engine:TextJustifier):void
Atar
ArgumentError — TextJustifier öğesinin bilinen bir alt sınıfı olmayan bir değere ayarlanırsa.
|
İlgili API Öğeleri
textLineCreationResult | özellik |
textLineCreationResult:String
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
createTextLine()
işleminin sonucunu belirtir. Bloğun içeriği değiştirildiğinde, önceden kesilmiş satırlar geçersiz kılınır ve bu özellik null
değerine sıfırlanır.
Varsayılan değer null
şeklindedir.
Bu özelliğin değerleri TextLineCreationResult
öğesinde bulunur
Dize değeri | Açıklama |
---|---|
TextLineCreationResult.SUCCESS | Satır başarıyla kesilmiştir. |
TextLineCreationResult.COMPLETE | Oluşturulan yeni satır, POSSIBLY_INVALID değerinden VALID değerine geçen sonraki satırlarla mükemmel şekilde hizalanmıştır veya bloktaki tüm metinler kesildiğinden herhangi bir satır oluşturulmamıştır. |
TextLineCreationResult.INSUFFICIENT_WIDTH | Belirtilen genişliğe herhangi bir metin sığmadığından satır oluşturulmamıştır. |
Uygulama
public function get textLineCreationResult():String
İlgili API Öğeleri
userData | özellik |
public var userData:*
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Uygulamaya, rastgele verileri metin bloğuyla ilişkilendirme yolu sağlar. Veriler, düzeltme tarihi veya yazarın adı gibi içerikle ilgili bilgiler veya işleme sırasında kullandığınız önbelleğe alınan veriler olabilir.
TextBlock | () | Yapıcı |
public function TextBlock(content:ContentElement = null, tabStops:Vector.<flash.text.engine:TabStop> = null, textJustifier:flash.text.engine:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Bir TextBlock nesnesi oluşturur
Parametrelercontent:ContentElement (default = null ) — Metin bloğunun içeriği.
| |
tabStops:Vector.<flash.text.engine:TabStop> (default = null ) — Metin bloğundaki metin için sekme durakları.
| |
textJustifier:flash.text.engine:TextJustifier (default = null ) — Bu bloğun satır oluşturması sırasında kullanılacak TextJustifier nesnesi. Herhangi bir yaslayıcı yoksa, İngilizce yerel ayarları esas alınarak varsayılan bir yaslayıcı oluşturulur.
| |
lineRotation:String (default = "rotate0 ") — Birimler halinde metin bloklarından oluşturulan metin satırlarına uygulanan döndürme.
| |
baselineZero:String (default = "roman ") — Hangi taban çizgisinin bloktaki tüm satırlar için y=0 konumunda olduğunu belirtir.
| |
bidiLevel:int (default = 0 ) — Metin bloğundaki metnin varsayılan iki yönlü gömülme düzeyi.
| |
applyNonLinearFontScaling:Boolean (default = true ) — WYSIWYG yazdırma uygunluğundan sapılacak olsa da, ekran görünümünü güçlendirmek istediğinizi belirtir.
| |
baselineFontDescription:FontDescription (default = null ) — Bloktaki tüm satır taban çizgilerinin türetileceği bir font açıklaması belirtir.
| |
baselineFontSize:Number (default = 12.0 ) — baselineFontDescription ile kullanılacak boyutu belirtir. baselineFontDescription öğesi null değerindeyse bu parametre yok sayılır.
|
Atar
ArgumentError — Belirtilen content , ContentElement öğesinin bilinen bir alt sınıfı değildir.
| |
ArgumentError — Belirtilen content , zaten bir grubun üyesidir.
| |
ArgumentError — Belirtilen lineRotation , TextRotation öğesinin bir üyesi değildir.
| |
ArgumentError — Belirtilen baselineZero , TextBaseline öğesinin bir üyesi değildir.
| |
ArgumentError — Belirtilen bidiLevel 0'dan küçüktür.
| |
ArgumentError — Belirtilen tabStops , null öğeler içerir.
| |
ArgumentError — Belirtilen tabStops , artan konuma göre sıralanmaz.
| |
ArgumentError — Belirtilen baselineFontSize 0'dan küçüktür.
|
İlgili API Öğeleri
createTextLine | () | yöntem |
public function createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Metin bloğunu kendi içeriğinden bir metin satırı oluşturacak şekilde yönlendirir. Bu metin satırı previousLine
parametresi tarafından belirtilen noktada başlar ve width
parametresi tarafından belirtilen noktada kesilir. Metin satırı, görüntüleme listesine ekleyebileceğiniz bir TextLine öğesidir.
Önceden kesilmiş bir metin bloğu aralığı üzerinden satır kesme, kesme işleminin gerçekleştiği alanın içerisinde ve ötesinde satırların geçerliliğini değiştirebilir. Satırların durumu VALID'den INVALID veya POSSIBLY_INVALID olarak değişebilir. Yeni kesilmiş bir satır daha önceden kesilmiş ve POSSIBLY_INVALID durumuna sahip bir satırla tam olarak hizalanırsa, daha önceden kesilmiş bu satır ve ardından gelen tüm POSSIBLY_INVALID satırları VALID durumuna geri döner. TextLineValidity
üyesi olmayan değerlere ayarlanan satırların geçerliliği VALID olarak değişmez ancak INVALID olarak değişebilir. Metin satırlarını yeniden kesmeye nereden başlayacağınızı veya devam edeceğinizi görmek için, metin bloğuna bir değişiklik yaptıktan sonra firstInvalidLine
özelliğini kontrol edin.
Metine Unicode Sıfır Genişlik Boşluğu (Unicode Zero Width Space) (ZWSP) karakterini dahil ederek, yapay kelime kesmeleri oluşturabilirsiniz. Bu, doğru satır kesme için sözlük gerektiren Tay dili gibi dillerde fayda sağlayabilir. Flash çalışma zamanı böyle bir sözlük içermez.
Bellek yükünü azaltmak için, istenen tüm satırlar oluşturulduğunda, örneğin, kabın yeniden boyutlandırılması nedeniyle satırların art arda yeniden kesilmesi gerekeceği beklenmediği sürece, kullanıcı releaseLineCreationData()
yöntemini çağırarak metin bloğunun, satır kesme ile ilişkili geçici verileri atmasına izin vermelidir.
Parametreler
previousLine:flash.text.engine:TextLine (default = null ) — Sonrasında kesme işleminin başlayacağı önceden kesilmiş satırı belirtir. İlk satırı keserken null değerinde olabilir.
| |
width:Number (default = 1000000 ) — Satırın piksel cinsinden istenen genişliğini belirtir. Gerçek genişlik daha az olabilir.
| |
lineOffset:Number (default = 0.0 ) — Satırın başlangıç konumu ve sekme duraklarının başlangıç konumu arasındaki farkı belirten isteğe bağlı bir parametre. Bu, satırlar hizalanamadığında ancak sekmelerinin hizalanması istendiğinde kullanılabilir. Bu parametreye yönelik varsayılan değer 0.0 şeklindedir.
| |
fitSomething:Boolean (default = false ) — Flash Player'ı belirtilen uzunluktan (uzunluk sıfır veya negatif olsa da aksi halde bir istisnanın atılmasına neden olan) bağımsız olarak metin satırına en az bir karakteri sığdıracak şekilde yönlendirir.
|
flash.text.engine:TextLine — Metin bloğu boşsa veya belirtilen genişlik, sonraki öğenin genişliğinden azsa bir metin satırı veya null . Bu durumlar arasında ayrım yapmak için metin bloğunun textLineCreationResult özelliğini kontrol edin.
|
Atar
ArgumentError — previousLine tarafından belirtilen TextLine öğesi geçerli değilse.
| |
ArgumentError — previousLine tarafından belirtilen TextLine farklı bir TextBlock öğesine aitse.
| |
ArgumentError — width sıfırdan küçükse, fitSomething doğru değilse.
| |
ArgumentError — width , TextLine.MAX_LINE_WIDTH öğesinden büyükse.
| |
IllegalOperationError — Metin bloğunun içeriğindeki bir veya birkaç öğe null ElementFormat değerine sahipse.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
createTextLine()
yöntemini çağırır. Şu görevleri gerçekleştirerek bunu başarır:
- String öğesinden bir TextElement oluşturma ve buna 20 font boyutu verme.
- Bir TextBlock oluşturma ve buna TextElement atama.
- Metin bloğundan 300 piksel genişliğinde satırlar oluşturmak için
createTextLine()
öğesini çağırma. - Her satırı Sahne Alanı'na yerleştirme (
addChild()
) ve konumunu (x
vey
) ayarlama.
package { import flash.display.Sprite; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.ElementFormat; import flash.text.engine.FontDescription; public class TextBlock_createTextLineExample extends Sprite { public function TextBlock_createTextLineExample():void { var str:String = "I am a TextElement, created from a String and assigned " + "to the content property of a TextBlock. The createTextLine() method " + "then created these lines, 300 pixels wide, for display." ; var fontDescription:FontDescription = new FontDescription("Arial"); var format:ElementFormat = new ElementFormat(fontDescription); format.fontSize = 16; var textElement:TextElement = new TextElement(str, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; createLines(textBlock); } private function createLines(textBlock:TextBlock):void { var lineWidth:Number = 300; var xPos:Number = 15.0; var yPos:Number = 20.0; var textLine:TextLine = textBlock.createTextLine (null, lineWidth); while (textLine) { textLine.x = xPos; textLine.y = yPos; yPos += textLine.height + 2; addChild (textLine); textLine = textBlock.createTextLine (textLine, lineWidth); } } } }
dump | () | yöntem |
public function dump():String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
TextBlock öğesinin temel içeriğini bir XML dizesi olarak atar. Bu durum otomatik test işleminde fayda sağlayabilir ve metin, biçimlendirme ve mizanpaj bilgilerini içerir.
Aşağıda, çıktı açıklanmaktadır:
>block< [0-N LINE] >/block<
Her satır çıktısının bir açıklaması için, TextLine.dump() yöntemine bakın.
Not: Çıktının içeriği ve biçimi gelecekte değişebilir. Adobe, bu yöntemin geriye dönük uyumluluğunu garantilemez.
DöndürürString |
İlgili API Öğeleri
findNextAtomBoundary | () | yöntem |
public function findNextAtomBoundary(afterCharIndex:int):int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Belirtilen dizindeki karakteri dahil etmeden belirtilen karakter dizininden bir sonraki atom sınırının dizinini bulur. Atom sınırları arasındaki karakterler, TextLine
içinde bir atom oluşturmak için birleşir, örn. 'e' ve birleştiren bir ters vurgu işareti.
Parametreler
afterCharIndex:int — Sonraki atom sınırından arama yapılacak olan karakter dizinini belirtir.
|
int — Belirtilen karakter dizinindeki bir sonraki atom sınırının dizini.
|
Atar
RangeError — Belirtilen index öğesi aralık dışındadır.
| |
IllegalOperationError — Dizinlenen karakterin ait olduğu TextLine öğesi geçerli değil.
|
İlgili API Öğeleri
findNextWordBoundary | () | yöntem |
public function findNextWordBoundary(afterCharIndex:int):int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Belirtilen dizindeki karakteri dahil etmeden belirtilen karakter dizininden bir sonraki kelime sınırının dizinini bulur. Kelime sınırları, karakterlerin Unicode özellikleri esas alınarak belirlenir.
Parametreler
afterCharIndex:int — Sonraki kelime sınırından arama yapılacak olan karakter dizinini belirtir.
|
int — Belirtilen karakter dizininden gelen sonraki kelime sınırının dizini.
|
Atar
RangeError — Belirtilen index öğesi aralık dışındadır.
| |
IllegalOperationError — Dizinlenen karakterin ait olduğu TextLine öğesi geçerli değil.
|
findPreviousAtomBoundary | () | yöntem |
public function findPreviousAtomBoundary(beforeCharIndex:int):int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Belirtilen dizindeki karakteri dahil etmeden belirtilen karakter dizinine giden bir önceki atom sınırının dizinini bulur. Atom sınırları arasındaki karakterler, TextLine
içinde bir atom oluşturmak için birleşir, örn. 'e' ve birleştiren bir ters vurgu işareti.
Parametreler
beforeCharIndex:int — Önceki atom sınırından arama yapılacak olan karakter dizinini belirtir.
|
int — Belirtilen karakter dizinine giden önceki atom sınırının dizini.
|
Atar
RangeError — Belirtilen index öğesi aralık dışındadır.
| |
IllegalOperationError — Dizinlenen karakterin ait olduğu TextLine öğesi geçerli değil.
|
İlgili API Öğeleri
findPreviousWordBoundary | () | yöntem |
public function findPreviousWordBoundary(beforeCharIndex:int):int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Belirtilen dizindeki karakteri dahil etmeden belirtilen karakter dizininden bir önceki kelime sınırının dizinini bulur. Kelime sınırları, karakterlerin Unicode özellikleri esas alınarak belirlenir.
Parametreler
beforeCharIndex:int — Sonraki kelime sınırından arama yapılacak olan karakter dizinini belirtir.
|
int — Belirtilen karakter dizininden gelen önceki kelime sınırının dizini.
|
Atar
RangeError — Belirtilen index öğesi aralık dışındadır.
| |
IllegalOperationError — Dizinlenen karakterin ait olduğu TextLine öğesi geçerli değil.
|
getTextLineAtCharIndex | () | yöntem |
public function getTextLineAtCharIndex(charIndex:int):flash.text.engine:TextLine
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
charIndex
parametresi tarafından belirtilmiş karakteri içeren TextLine öğesini döndürür.
Parametreler
charIndex:int — Karakterin sıfır temelli dizin değeri. (Örneğin, ilk karakter 0, ikinci karakter 1 şeklinde devam eder.)
|
flash.text.engine:TextLine — charIndex öğesindeki karakteri içeren TextLine öğesi.
|
Atar
RangeError — Belirtilen karakter dizini aralık dışındadır.
|
recreateTextLine | () | yöntem |
public function recreateTextLine(textLine:flash.text.engine:TextLine, previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Metin bloğunu kendi içeriğinden bir metin satırı oluşturacak şekilde varolan bir metin satırını kullanması için yönlendirir. Bu metin satırı previousLine
parametresi tarafından belirtilen noktada başlar ve width
parametresi tarafından belirtilen noktada kesilir. Metin satırı, görüntüleme listesine ekleyebileceğiniz bir TextLine öğesidir. Varolan metin satırı yeniden kullanılarak, düşük nesne oluşturma nedeniyle performans düşer.
Yeniden oluşturulan textLine
hangi metin bloğundaysa oradan bırakılır. Ek olarak, DisplayObjectContainer
, InteractiveObject
ve DisplayObject
öğelerinden miras alınan özellikler dahil olmak üzere, tüm özellikler varsayılan değerlerine sıfırlanır. Son olarak, grafik öğeler ve diğer dekorasyonlar dahil sıradaki tüm alt öğeler ve tüm olay dinleyicileri kaldırılır. Performansın iyileştirilmesi için, bu tümüyle sıfırlanma durumunun tek istisnası, satırın kendisinin üst öğesinden kaldırılmamasıdır.
Önceden kesilmiş bir metin bloğu aralığı üzerinden satır kesme, kesme işleminin gerçekleştiği alanın içerisinde ve ötesinde satırların geçerliliğini değiştirebilir. Satırların durumu VALID'den INVALID veya POSSIBLY_INVALID olarak değişebilir. Yeni kesilmiş bir satır daha önceden kesilmiş ve POSSIBLY_INVALID durumuna sahip bir satırla tam olarak hizalanırsa, daha önceden kesilmiş bu satır ve ardından gelen tüm POSSIBLY_INVALID satırları VALID durumuna geri döner. TextLineValidity
üyesi olmayan değerlere ayarlanan satırların geçerliliği VALID olarak değişmez ancak INVALID olarak değişebilir. Metin satırlarını yeniden kesmeye nereden başlayacağınızı veya devam edeceğinizi görmek için, metin bloğuna bir değişiklik yaptıktan sonra firstInvalidLine
özelliğini kontrol edin.
Metine Unicode Sıfır Genişlik Boşluğu (Unicode Zero Width Space) (ZWSP) karakterini dahil ederek, yapay kelime kesmeleri oluşturabilirsiniz. Bu, doğru satır kesme için sözlük gerektiren Tay dili gibi dillerde fayda sağlayabilir. Flash çalışma zamanı böyle bir sözlük içermez.
Bellek yükünü azaltmak için, istenen tüm satırlar oluşturulduğunda, örneğin, kabın yeniden boyutlandırılması nedeniyle satırların art arda yeniden kesilmesi gerekeceği beklenmediği sürece, kullanıcı releaseLineCreationData()
yöntemini çağırarak metin bloğunun, satır kesme ile ilişkili geçici verileri atmasına izin vermelidir.
Parametreler
textLine:flash.text.engine:TextLine — Kullanılacak, önceden oluşturulmuş bir TextLine öğesini belirtir.
| |
previousLine:flash.text.engine:TextLine (default = null ) — Sonrasında kesme işleminin başlayacağı önceden kesilmiş satırı belirtir. İlk satırı keserken null değerinde olabilir.
| |
width:Number (default = 1000000 ) — Satırın piksel cinsinden istenen genişliğini belirtir. Gerçek genişlik daha az olabilir.
| |
lineOffset:Number (default = 0.0 ) — Satırın başlangıç konumu ve sekme duraklarının başlangıç konumu arasındaki farkı belirten isteğe bağlı bir parametre. Bu, satırlar hizalanamadığında ancak sekmelerinin hizalanması istendiğinde kullanılabilir. Bu parametreye yönelik varsayılan değer 0.0 şeklindedir.
| |
fitSomething:Boolean (default = false ) — Flash Player'ı belirtilen uzunluktan (uzunluk sıfır veya negatif olsa da aksi halde bir istisnanın atılmasına neden olan) bağımsız olarak metin satırına en az bir karakteri sığdıracak şekilde yönlendirir.
|
flash.text.engine:TextLine — Metin bloğu boşsa veya belirtilen genişlik, sonraki öğenin genişliğinden azsa bir metin satırı veya null . Bu durumlar arasında ayrım yapmak için metin bloğunun textLineCreationResult özelliğini kontrol edin.
|
Atar
ArgumentError — textLine null olursa.
| |
ArgumentError — previousLine tarafından belirtilen TextLine öğesi geçerli değilse.
| |
ArgumentError — previousLine tarafından belirtilen TextLine farklı bir TextBlock öğesine aitse.
| |
ArgumentError — previousLine tarafından belirtilen TextLine, textLine tarafından da belirtilirse.
| |
ArgumentError — width sıfırdan küçükse, fitSomething doğru değilse.
| |
ArgumentError — width , TextLine.MAX_LINE_WIDTH öğesinden büyükse.
| |
IllegalOperationError — Metin bloğunun içeriğindeki bir veya birkaç öğe null ElementFormat değerine sahipse.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
textLine
TextLine nesnesini yeniden kullanır:
var elementFormat:ElementFormat = new ElementFormat(); elementFormat.fontDescription = new FontDescription("Arial"); elementFormat.fontSize = 48; var textElement:TextElement = new TextElement("Text you'll never see", elementFormat) var textBlock:TextBlock = new TextBlock(textElement); var textLine:TextLine = textBlock.createTextLine(); textLine.x = 50; textLine.y = 50; addChild(textLine); // Reuse the element format to preserve the text formatting var elementTwo:TextElement = new TextElement("Text you see", elementFormat); textBlock.content = elementTwo; textBlock.recreateTextLine(textLine); // Set the position (and any other display object properties like alpha, children, etc.) // otherwise, they're all set to default properties. textLine.x = 50; textLine.y = 50;
releaseLineCreationData | () | yöntem |
public function releaseLineCreationData():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Metin bloğuna, metin satırı oluşturmayla ilişkili tüm geçici verileri yayınlamasını bildirir. Bir uygulamanın ayak izini en aza indirgemek için, bir metin bloğundan metin oluşturma işiniz bittiğinde releaseLineCreationData()
yöntemini çağırın. Ancak, satırları yeniden kesme performansını en üst düzeye çıkarmak için (örneğin, kap yeniden boyutlandırıldığında) releaseLineCreationData()
yöntemi çağrılmamalıdır. Bellek ve performans dengesini sağlamak uygulamaya kalmıştır.
Değişmesi beklenmeyen metin için önerilen işlem: bir metin bloğu başlatma, istenen çıktıyı oluşturmak için gerekli sıklıkta createTextLine()
yöntemini çağırma ve sonra releaseLineCreationData()
yöntemini çağırma.
İlgili API Öğeleri
releaseLines | () | yöntem |
public function releaseLines(firstLine:flash.text.engine:TextLine, lastLine:flash.text.engine:TextLine):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Metin satırları aralığını, TextBlock tarafından tutulan satır listesinden kaldırır. Bu, başka bir başvuru yoksa, satırlarda çöp toplama işlemi yapılmasını sağlar.
Kaldırılan satırların textBlock
, nextLine
ve previousLine
üyelerini null
değerine ayarlar. TextBlock içindeki kaldırılan satırların ve kaldırılan satırlardan sonra gelen tüm satırların validity
öğesini TextLineValidity.INVALID
değerine ayarlar.
Parametreler
firstLine:flash.text.engine:TextLine — Serbest bırakılacak ilk satırı belirtir.
| |
lastLine:flash.text.engine:TextLine — Serbest bırakılacak son satırı belirtir.
|
Atar
ArgumentError — firstLine veya lastLine tarafından belirtilen TextLine, metin bloğu tarafından tutulan metin satırları listesinde değilse.
|
İlgili API Öğeleri
package { import fl.controls.Button; import flash.text.engine.TextBlock; import flash.text.engine.TextLine; import flash.text.engine.TextElement; import flash.text.engine.ElementFormat; import flash.text.engine.TextRotation; import flash.text.engine.TextBaseline; import flash.text.engine.LineJustification; import flash.text.engine.FontDescription; import flash.text.engine.EastAsianJustifier; import flash.display.Loader; import flash.display.Sprite; import flash.display.Stage; import flash.events.MouseEvent; import flash.system.Capabilities; public class TextBlockExample extends Sprite { var vertical:Boolean; var container:Sprite; var textBlocks:Vector.<TextBlock>; var loader:Loader = new Loader(); var directionButton:Button = new Button(); public function TextBlockExample():void { addChild(directionButton); directionButton.width = 30; directionButton.move(50, 350); directionButton.addEventListener(MouseEvent.CLICK, clickHandler); createContent(); createLines(); } private function createEmptyBlock():TextBlock { var textBlock:TextBlock = new TextBlock(); textBlock.baselineZero = TextBaseline.IDEOGRAPHIC_CENTER; textBlock.textJustifier = new EastAsianJustifier("ja", LineJustification.ALL_BUT_LAST); textBlock.lineRotation = vertical? TextRotation.ROTATE_90: TextRotation.ROTATE_0; return textBlock; } private function paragraph1(format:ElementFormat):TextBlock { var textBlock:TextBlock = createEmptyBlock(); textBlock.content = new TextElement( String.fromCharCode( 0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4, 0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC, 0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411, 0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6, 0x30E0, 0x30BA, 0x793E, 0x306E ) + "FMS 2" + String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068, 0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002), format); return textBlock; } private function paragraph2(format:ElementFormat):TextBlock { var textBlock:TextBlock = createEmptyBlock(); textBlock.content = new TextElement( String.fromCharCode( 0x30AF, 0x30ED, 0x30B9, 0x30D7, 0x30E9, 0x30C3, 0x30C8, 0x30D5, 0x30A9, 0x30FC, 0x30E0, 0x4E0A, 0x3067, 0x518D, 0x751F, 0x53EF, 0x80FD, 0x306A ) + "Flash Video" + String.fromCharCode( 0x3092, 0x914D, 0x4FE1, 0x3001, 0x653F, 0x5E9C, 0x6700, 0x65B0, 0x60C5, 0x5831, 0x3092, 0x3088, 0x308A, 0x591A, 0x304F, 0x306E, 0x56FD, 0x6C11, 0x306B, 0x9AD8, 0x54C1, 0x8CEA, 0x306A, 0x753B, 0x50CF, 0x3067, 0x7C21, 0x5358, 0x304B, 0x3064, 0x30EA, 0x30A2, 0x30EB, 0x30BF, 0x30A4, 0x30E0, 0x306B, 0x63D0, 0x4F9B, 0x3059, 0x308B, 0x3053, 0x3068, 0x304C, 0x53EF, 0x80FD, 0x306B, 0x306A, 0x308A, 0x307e, 0x3057, 0x305F, 0x3002), format); return textBlock; } private function paragraph3(format:ElementFormat):TextBlock { var textBlock:TextBlock = createEmptyBlock(); textBlock.content = new TextElement( String.fromCharCode(0x3010) + "2007" + String.fromCharCode(0x5E74) + "2" + String.fromCharCode(0x6708) + "21" + String.fromCharCode(0x65E5, 0x3011), format); return textBlock; } private function createContent():void { var font:FontDescription = new FontDescription(); if (Capabilities.os.search("Mac OS") > -1) font.fontName = String.fromCharCode(0x5C0F, 0x585A, 0x660E, 0x671D) + " Pro R"; // "Kozuka Mincho Pro R" koFont.fontName = "Adobe " + String.fromCharCode(0xBA85, 0xC870) + " Std M"; // "Adobe Myungjo Std M" else font.fontName = "Kozuka Mincho Pro R"; var format:ElementFormat = new ElementFormat(); format.fontDescription = font; format.fontSize = 12; format.locale = "ja"; format.color = 0x000000; if (!vertical) format.textRotation = TextRotation.ROTATE_0; textBlocks = new Vector.<TextBlock>(); textBlocks.push( paragraph1(format), paragraph2(format), paragraph3(format)//, ); } private function createLines():void { if (container != null) { removeChild(container); } container = new Sprite(); container.y = 45; container.x = 40; addChild(container); var linePosition:Number = vertical? this.stage.stageWidth - 120: 12; for (var i:uint = 0; i < textBlocks.length; i++) { var textBlock:TextBlock = textBlocks[i]; var previousLine:TextLine = null; while (true) { var textLine:TextLine = textBlock.createTextLine( previousLine, 300); if (textLine == null) break; if (vertical) { textLine.x = linePosition; linePosition -= 24; directionButton.label = " -- "; } else { textLine.y = linePosition+50; linePosition += 24; directionButton.label = " | "; } container.addChild(textLine); previousLine = textLine; } if (vertical) linePosition -= 16; else linePosition += 16; } } private function clickHandler(event:MouseEvent):void { vertical = !vertical; createContent(); createLines(); } } }
Tue Jun 12 2018, 01:09 PM Z