Pakket | flash.text.engine |
Klasse | public final class TextBlock |
Overerving | TextBlock Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
De klasse TextBlock is gemaakt om één alinea te bevatten omdat de algoritmen voor Unicode bidirectioneel en regeleinden op één alinea tegelijk werken. Voor toepassingen waarmee meerdere tekstalinea's worden samengesteld, gebruikt u een opmaaktaal of tekstanalysefuncties om de tekst in alinea's in te delen en één TextBlock per alinea te maken.
De inhoud van het object TextBlock wordt opgeslagen in de eigenschap content
, een instantie van de klasse ContentElement. Omdat u geen instantie van de klasse ContentElement kunt maken, stelt u content
in op een instantie van een van de bijbehorende subklassen: TextElement, GraphicElement of GroupElement. Gebruik TextElement voor inhoud die alleen tekst bevat, GraphicElement voor een afbeelding of grafische inhoud en GroupElement voor inhoud die een combinatie is van TextElement, GraphicElement en andere GroupElement-objecten. Raadpleeg de klasse ContentElement en de bijbehorende subklassen voor details over het beheren van opgemaakte tekst, ingesloten subtekst en grafische elementen.
Nadat u de TextBlock-instantie hebt gemaakt en de eigenschap content
hebt ingesteld, roept u de methode createTextLine()
aan om tekstregels te maken die instanties zijn van de klasse TextLine
.
Verwante API-elementen
GraphicElement
GroupElement
TextBaseline
TextElement
TextJustifier
TextLine
TextRotation
TabStop
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
applyNonLinearFontScaling : Boolean
Geeft aan of u de weergave op het scherm wilt verbeteren ten koste van de WYSIWYG-afdrukkwaliteit (what-you-see-is-what-you-get). | TextBlock | ||
baselineFontDescription : FontDescription
Het lettertype dat wordt gebruikt om de basislijnen voor alle regels die voor het blok zijn gemaakt te bepalen, onafhankelijk van de inhoud ervan. | TextBlock | ||
baselineFontSize : Number
De lettergrootte die wordt gebruikt om de basislijnen te berekenen voor de regels die vanaf het blok zijn gemaakt. | TextBlock | ||
baselineZero : String
Geeft aan welke basislijn y=0 is voor alle regels die zijn gemaakt van dit blok. | TextBlock | ||
bidiLevel : int
Geeft het bidirectionele alinea-insluitingsniveau aan van het tekstblok. | TextBlock | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
content : ContentElement
Bevat de inhoud van het tekstblok. | TextBlock | ||
firstInvalidLine : flash.text.engine:TextLine [alleen-lezen]
Geeft de eerste regel in het tekstblok aan waarvoor TextLine.validity niet gelijk is aan TextLineValidity.VALID. | TextBlock | ||
firstLine : flash.text.engine:TextLine [alleen-lezen]
De eerste eventuele TextLine in het TextBlock. | TextBlock | ||
lastLine : flash.text.engine:TextLine [alleen-lezen]
De laatste eventuele TextLine in het TextBlock. | TextBlock | ||
lineRotation : String
De tekstregels in het tekstblok worden als een eenheid gedraaid. | TextBlock | ||
tabStops : Vector.<flash.text.engine:TabStop>
Geeft de tabstops voor de tekst in het tekstblok aan, in de vorm van een Vector van TabStop-objecten. | TextBlock | ||
textJustifier : flash.text.engine:TextJustifier
Geeft aan welke TextJustifier moet worden gebruikt voor het maken van regels. | TextBlock | ||
textLineCreationResult : String [alleen-lezen]
Geeft het resultaat van een createTextLine()-bewerking aan. | TextBlock | ||
userData : *
Hiermee kan de toepassing willekeurige gegevens aan het tekstblok koppelen. | TextBlock |
Methode | Gedefinieerd door | ||
---|---|---|---|
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)
Hiermee wordt een object TextBlock gemaakt.
| TextBlock | ||
createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Instrueert het tekstblok om een regel tekst uit de inhoud te maken, vanaf het punt dat is aangegeven door de parameter previousLine tot het punt dat door de parameter width wordt aangegeven. | TextBlock | ||
Dumpt de onderliggende inhoud van het TextBlock als een XML-reeks. | TextBlock | ||
Vindt de index van de volgende atoomgrens vanaf de opgegeven tekenindex, exclusief het teken bij de opgegeven index. | TextBlock | ||
Vindt de index van de volgende woordgrens vanaf de opgegeven tekenindex, exclusief het teken bij de opgegeven index. | TextBlock | ||
Vindt de index van de vorige atoomgrens tot aan de opgegeven tekenindex, exclusief het teken bij de opgegeven index. | TextBlock | ||
Vindt de index van de vorige woordgrens tot aan de opgegeven tekenindex, exclusief het teken bij de opgegeven index. | TextBlock | ||
Hiermee wordt de TextLine geretourneerd met het teken dat door de parameter charIndex is opgegeven. | TextBlock | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | 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
Instrueert het tekstblok om een bestaande tekstregel opnieuw te gebruiken voor het maken van een tekstregel uit de inhoud, te beginnen vanaf het punt dat wordt aangegeven door de parameter previousLine tot het punt dat wordt aangegeven door de parameter width. | TextBlock | ||
Geeft het tekstblok de opdracht om alle tijdelijke gegevens vrij te geven die gekoppeld zijn aan de creatie van tekstregels. | TextBlock | ||
Verwijdert een aantal tekstregels uit de lijst met regels die door het TextBlock wordt bijgehouden. | TextBlock | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
applyNonLinearFontScaling | eigenschap |
applyNonLinearFontScaling:Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Geeft aan of u de weergave op het scherm wilt verbeteren ten koste van de WYSIWYG-afdrukkwaliteit (what-you-see-is-what-you-get). Op platformen en bij lettertypen die geen ondersteuning bieden voor subpixel glyph-positionering bij de rendering van apparaatlettertypen, maar die wel ondersteuning bieden voor niet-lineaire schaling, kunt u door de waarde van deze eigenschap in te stellen op true
het gebruik van deze metrische waarden inschakelen. (Houd hierbij rekening met een afname in WYSIWYG-afdrukkwaliteit, met name bij kleine puntgrootten.) Bij niet-lineaire schaling van lettertypen wordt de breedte van individuele glyphs selectief geschaald om lelijke gaten te verbergen die worden veroorzaakt door magnetische pixeluitlijning.
Deze markering wordt genegeerd bij platformen die wel ondersteuning bieden voor subpixel glyph-positionering.
Deze markering is niet van invloed op de rendering van het ingesloten lettertype.
De standaardwaarde is true
.
Implementatie
public function get applyNonLinearFontScaling():Boolean
public function set applyNonLinearFontScaling(value:Boolean):void
baselineFontDescription | eigenschap |
baselineFontDescription:FontDescription
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Het lettertype dat wordt gebruikt om de basislijnen voor alle regels die voor het blok zijn gemaakt te bepalen, onafhankelijk van de inhoud ervan. Basislijnen zijn afhankelijk van lettertype en lettergrootte.
De standaardwaarde is null
. Wanneer het basislijnlettertype null
is, wordt de lettergrootte van de basislijn genegeerd en wordt de basislijn voor elke regel gebaseerd op lettertype en lettergrootte van de grootste tekst op de regel. Wanneer u zowel baselineFontDescription
als baselineFontSize
opgeeft, worden hiermee de basislijnen bepaalt voor alle regels in het tekstblok, onafhankelijk van de inhoud. Deze combinatie is vaak handig bij Aziatische typografie.
Implementatie
public function get baselineFontDescription():FontDescription
public function set baselineFontDescription(value:FontDescription):void
Verwante API-elementen
baselineFontSize | eigenschap |
baselineFontSize:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
De lettergrootte die wordt gebruikt om de basislijnen te berekenen voor de regels die vanaf het blok zijn gemaakt. Basislijnen zijn afhankelijk van lettertype en lettergrootte.
De standaardwaarde is 12
. Wanneer het basislijnlettertype null
is, wordt de lettergrootte van de basislijn genegeerd en wordt de basislijn voor elke regel gebaseerd op lettertype en lettergrootte van de grootste tekst op de regel.
Implementatie
public function get baselineFontSize():Number
public function set baselineFontSize(value:Number):void
Gegenereerde uitzondering
ArgumentError — Het opgegeven baselineFontSize is kleiner dan 0.
|
Verwante API-elementen
baselineZero | eigenschap |
baselineZero:String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Geeft aan welke basislijn y=0 is voor alle regels die zijn gemaakt van dit blok. Geldige waarden voor deze eigenschap zijn te vinden onder de leden van de klasse TextBaseline
.
De standaardwaarde is TextBaseline.ROMAN
.
Wanneer u waarden voor deze eigenschap wilt instellen, gebruikt u de volgende tekenreekswaarden:
Tekenreekswaarde | Beschrijving |
---|---|
TextBaseline.ROMAN | De romeinse basislijn van de regels staat op y=0. |
TextBaseline.ASCENT | De ascent-basislijn van de regels staat op y=0. |
TextBaseline.DESCENT | De descent-basislijn van de regels staat op y=0. |
TextBaseline.IDEOGRAPHIC_TOP | De ideografische top-basislijn van de regels staat op y=0. |
TextBaseline.IDEOGRAPHIC_CENTER | De ideografische midden-basislijn van de regels staat op y=0. |
TextBaseline.IDEOGRAPHIC_BOTTOM | De ideografische onder-basislijn van de regels staat op y=0. |
Implementatie
public function get baselineZero():String
public function set baselineZero(value:String):void
Gegenereerde uitzondering
ArgumentError — Indien ingesteld op een waarde die geen lid is van TextBaseline .
|
Verwante API-elementen
bidiLevel | eigenschap |
bidiLevel:int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Geeft het bidirectionele alinea-insluitingsniveau aan van het tekstblok. Over het algemeen gebruikt u de waarde 0 voor alinea's waarin tekst van links naar rechts wordt geschreven (Nederlands, Engels, Japans, enzovoort) en de waarde 1 voor alinea's waarin tekst van rechts naar links wordt geschreven (Arabisch, Hebreeuws, enzovoort). Het gebruik van andere waarden dan 0 of 1 is gereserveerd voor speciale gevallen. Zie UAX#9, "Bidirectioneel Unicode-algoritme" (http://www.unicode.org/reports/tr9/) voor meer informatie.
De standaardwaarde is 0.
Als bidiLevel
wordt gewijzigd, verandert de geldigheid van alle eerder afgebroken regels in TextLineValidity.INVALID. Nadat bidiLevel
is gewijzigd, is de eigenschap firstInvalidLine
gelijk aan de eigenschap firstLine
en moet u alle regels in het tekstblok opnieuw afbreken.
Implementatie
public function get bidiLevel():int
public function set bidiLevel(value:int):void
Gegenereerde uitzondering
ArgumentError — Indien ingesteld op een waarde die kleiner is dan 0.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
bidiLevel
even en daarna met bidiLevel
oneven weergegeven.
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 | eigenschap |
content:ContentElement
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Bevat de inhoud van het tekstblok. Omdat ContentElement is een basisklasse is, wijst u aan content
een instantie toe van een subklasse van ContentElement: TextElement, GraphicElement of GroupElement. Een TextElement-object bevat een String, een GraphicElement-object bevat een DisplayObject en een GroupElement bevat een Vector-object dat een of meer TextElement-objecten, GraphicElement-objecten of andere GroupElement-objecten bevat. Gebruik een TextElement voor een alinea met uitsluitend tekst, een GraphicElement voor een afbeelding en een GroupElement voor een combinatie van tekst en grafische elementen of meerdere instanties van deze elementen en andere GroupElement-objecten.
De standaardwaarde is null
.
Als u de eigenschap content
wijzigt, verandert de geldigheid van alle eerder gemaakte regels in TextLineValidity.INVALID
. Nadat content
is gewijzigd, is de eigenschap firstInvalidLine
gelijk aan de eigenschap firstLine
en moet u alle regels in het tekstblok opnieuw afbreken.
Implementatie
public function get content():ContentElement
public function set content(value:ContentElement):void
Gegenereerde uitzondering
ArgumentError — Indien ingesteld op een waarde die geen bekende subklasse is van ContentElement .
| |
ArgumentError — De opgegeven waarde is al lid van een groep.
|
Verwante API-elementen
firstInvalidLine | eigenschap |
firstInvalidLine:flash.text.engine:TextLine
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Geeft de eerste regel in het tekstblok aan waarvoor TextLine.validity
niet gelijk is aan TextLineValidity.VALID
.
De standaardwaarde is null
.
Implementatie
public function get firstInvalidLine():flash.text.engine:TextLine
Verwante API-elementen
firstLine | eigenschap |
firstLine:flash.text.engine:TextLine
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
De eerste eventuele TextLine in het TextBlock.
De standaardwaarde is null
.
Implementatie
public function get firstLine():flash.text.engine:TextLine
Verwante API-elementen
lastLine | eigenschap |
lastLine:flash.text.engine:TextLine
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
De laatste eventuele TextLine in het TextBlock.
De standaardwaarde is null
.
Implementatie
public function get lastLine():flash.text.engine:TextLine
Verwante API-elementen
lineRotation | eigenschap |
lineRotation:String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
De tekstregels in het tekstblok worden als een eenheid gedraaid. Roep de methode createTextLine()
na het instellen van lineRotation
aan om de wijziging door te voeren. De standaardwaarde is TextRotation.ROTATE_0
.
De laatste rotatie van een glyph is afhankelijk van de waarden van ElementFormat.textRotation
, ContentElement.textRotation
en TextBlock.lineRotation
.
TextBlock.lineRotation
wordt gewoonlijk gebruikt voor Aziatische tekst. Ga als volgt te werk om een alinea met verticale Japanse tekst te maken:
- Stel de eigenschap
TextBlock.lineRotation
in opTextRotation.ROTATE_90
. - Houd de eigenschap
ElementFormat.textRotation
van de inhoud als de standaardinstelling,TextRotation.AUTO
.
Gebruik de volgende constanten, die in de klasse TextRotation
zijn gedefinieerd, om de waarde voor deze eigenschap in te stellen:
Tekenreekswaarde | Beschrijving |
---|---|
TextRotation.ROTATE_0 | Regels worden niet gedraaid. |
TextRotation.ROTATE_90 | Regels worden 90 graden rechtsom gedraaid. |
TextRotation.ROTATE_180 | Regels worden 180 graden gedraaid. |
TextRotation.ROTATE_270 | Regels worden 270 graden rechtsom gedraaid. |
TextRotation.AUTO | Niet ondersteund. |
Implementatie
public function get lineRotation():String
public function set lineRotation(value:String):void
Gegenereerde uitzondering
ArgumentError — Indien ingesteld op een waarde die geen lid is van TextRotation .
| |
ArgumentError — Indien ingesteld op TextRotation.AUTO .
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
lineRotation
op TextRotation.ROTATE_90 ingesteld om de regel verticaal weer te geven.
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 | eigenschap |
tabStops:Vector.<flash.text.engine:TabStop>
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Geeft de tabstops voor de tekst in het tekstblok aan, in de vorm van een Vector van TabStop
-objecten.
De standaardwaarde is null
, wat betekent dat er geen tabstops zijn opgegeven. Als er geen tabstops zijn opgegeven (of het invoegpunt na de laatst opgegeven tabstop ligt) maakt de runtime standaard tabs van één centimeter.
Als de eigenschap tabStops
is ingesteld, maakt het TextBlock een kopie van het Vector-object voor intern gebruik. Het aanpassen van het originele Vector-object of de inhoud daarvan heeft geen invloed op het TextBlock. Als de eigenschap tabStops
wordt opgevraagd, wordt er een kopie van het interne Vector-object geretourneerd. Het aanpassen van dit geretourneerde Vector-object heeft evenmin invloed op het TextBlock.
Implementatie
public function get tabStops():Vector.<flash.text.engine:TabStop>
public function set tabStops(value:Vector.<flash.text.engine:TabStop>):void
Gegenereerde uitzondering
ArgumentError — De opgegeven tabStops bevatten null elementen.
| |
ArgumentError — De opgegeven tabStops zijn niet in oplopende volgorde gesorteerd op positie.
|
Verwante API-elementen
textJustifier | eigenschap |
textJustifier:flash.text.engine:TextJustifier
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Geeft aan welke TextJustifier moet worden gebruikt voor het maken van regels.
De standaardwaarde is een geconstrueerd standaard TextJustifier-object.
Als de eigenschap textJustifier
is ingesteld, maakt het TextBlock een kopie van het object voor intern gebruik. Het aanpassen van het originele object heeft geen invloed op het TextBlock. Als de eigenschap textJustifier
wordt opgevraagd, wordt er een kopie van het interne object geretourneerd. Het aanpassen van het geretourneerde object heeft evenmin invloed op het TextBlock.
Implementatie
public function get textJustifier():flash.text.engine:TextJustifier
public function set textJustifier(value:flash.text.engine:TextJustifier):void
Gegenereerde uitzondering
ArgumentError — Indien ingesteld op een waarde die geen bekende subklasse is van TextJustifier .
|
Verwante API-elementen
textLineCreationResult | eigenschap |
textLineCreationResult:String
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Geeft het resultaat van een createTextLine()
-bewerking aan. Als u de inhoud van het blok wijzigt, worden de eerder afgebroken regels ongeldig en wordt deze eigenschap opnieuw ingesteld op null
.
De standaardwaarde is null
.
Waarden voor deze eigenschap bevinden zich in TextLineCreationResult
Tekenreekswaarde | Beschrijving |
---|---|
TextLineCreationResult.SUCCESS | De regel is met succes afgebroken. |
TextLineCreationResult.COMPLETE | De nieuwe regel is perfect uitgelijnd met de volgende regels die zijn overgegaan van status POSSIBLY_INVALID naar VALID, of er is geen regel gemaakt omdat alle tekst in het blok al is afgebroken. |
TextLineCreationResult.INSUFFICIENT_WIDTH | Er is geen regel gemaakt omdat er geen tekst in de opgegeven breedte past. |
Implementatie
public function get textLineCreationResult():String
Verwante API-elementen
userData | eigenschap |
public var userData:*
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Hiermee kan de toepassing willekeurige gegevens aan het tekstblok koppelen. De gegevens kunnen verwijzen naar de inhoud, zoals een herzieningsdatum of de naam van de auteur, of het kunnen gegevens in de cache zijn die u tijdens de verwerking gebruikt.
TextBlock | () | Constructor |
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)
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Hiermee wordt een object TextBlock gemaakt.
Parameterscontent:ContentElement (default = null ) — De inhoud van het tekstblok.
| |
tabStops:Vector.<flash.text.engine:TabStop> (default = null ) — De tabstops voor de tekst in het tekstblok.
| |
textJustifier:flash.text.engine:TextJustifier (default = null ) — Het TextJustifier-object dat moet worden gebruikt bij het maken van regels voor dit blok. Als er geen justifier is opgegeven, wordt een standaardjustifier geconstrueerd op basis van de landinstelling Engels.
| |
lineRotation:String (default = "rotate0 ") — De rotatie die op de tekstregels is toegepast die als eenheden uit het tekstblok zijn gegenereerd.
| |
baselineZero:String (default = "roman ") — Geeft aan welke basislijn y=0 is voor alle regels in het blok.
| |
bidiLevel:int (default = 0 ) — Het standaardinsluitingsniveau in twee richtingen van de tekst in het tekstblok.
| |
applyNonLinearFontScaling:Boolean (default = true ) — Geeft aan dat u de weergave op het scherm wilt verbeteren ten koste van WYSIWYG-afdrukkwaliteit.
| |
baselineFontDescription:FontDescription (default = null ) — Geeft een lettertypebeschrijving aan waaruit regelbasislijnen moeten worden afgeleid voor alle regels in het blok.
| |
baselineFontSize:Number (default = 12.0 ) — Geeft de grootte aan die voor de baselineFontDescription moet worden gebruikt. Deze parameter wordt genegeerd als baselineFontDescription null is.
|
Gegenereerde uitzondering
ArgumentError — De opgegeven content is geen bekende subklasse van ContentElement .
| |
ArgumentError — De opgegeven content is al lid van een groep.
| |
ArgumentError — De opgegeven lineRotation is geen lid van TextRotation .
| |
ArgumentError — De opgegeven baselineZero is geen lid van TextBaseline .
| |
ArgumentError — Het opgegeven bidiLevel is kleiner dan 0.
| |
ArgumentError — De opgegeven tabStops bevatten null elementen.
| |
ArgumentError — De opgegeven tabStops zijn niet in oplopende volgorde gesorteerd op positie.
| |
ArgumentError — Het opgegeven baselineFontSize is kleiner dan 0.
|
Verwante API-elementen
createTextLine | () | methode |
public function createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Instrueert het tekstblok om een regel tekst uit de inhoud te maken, vanaf het punt dat is aangegeven door de parameter previousLine
tot het punt dat door de parameter width
wordt aangegeven. De tekstregel is een TextLine-object dat u aan de weergavelijst kunt toevoegen.
Als u regels laat doorlopen in een tekstblok waar al tekstdoorloop aanwezig is, kan dit de geldigheidsstatus van regels wijzigen in en buiten het gebied van de tekstdoorloop. De status van regels kan van VALID veranderen in INVALID of in POSSIBLY_INVALID. Als een zojuist afgebroken regel perfect is uitgelijnd met een eerder afgebroken regel met de status POSSIBLY_INVALID, verandert de status van die eerder afgebroken regel en alle volgende regels met status POSSIBLY_INVALID terug naar de status VALID. De geldigheid van regels die op waarden zijn ingesteld die geen lid zijn van TextLineValidity
verandert niet in VALID, maar kan wel veranderen in INVALID. Controleer de eigenschap firstInvalidLine
na elke wijziging in het tekstblok om te zien waar u moet beginnen of moet doorgaan met het opnieuw afbreken van tekstregels.
U kunt woorden kunstmatig afbreken door het Unicode-teken ZWSP (Zero Width Space) in de tekst op te nemen. Dit kan nuttig zijn voor talen als Thai, waarvoor een dictionary nodig is om regels correct af te breken. De Flash-runtime bevat deze bibliotheek niet.
Om geheugenoverhead te beperken, wanneer alle gewenste lijnen zijn gemaakt, behalve als wordt verwacht dat alle lijnen herhaaldelijk opnieuw gebroken worden doordat, bijvoorbeeld, de grootte van de container opnieuw wordt vastgesteld, moet de gebruiker de releaseLineCreationData()
-methode oproepen, waardoor het tekstblok kan beschikken over tijdelijke gegevens die betrekking hebben op regelafbreking.
Parameters
previousLine:flash.text.engine:TextLine (default = null ) — Geeft de eerder doorgelopen regel aan waarna tekstdoorloop moet beginnen. Kan null zijn als dit de eerste regel is die doorloopt.
| |
width:Number (default = 1000000 ) — Geeft de gewenste breedte van de regel in pixels aan. De werkelijke breedte kan minder zijn.
| |
lineOffset:Number (default = 0.0 ) — Een optionele parameter die het verschil in pixels aangeeft tussen de oorsprong van de regel en de oorsprong van de tabstops. Kan worden gebruikt als regels niet uitgelijnd zijn, maar de tabstops dit wel moeten zijn. De standaardwaarde voor deze parameter is 0.0 .
| |
fitSomething:Boolean (default = false ) — Een optionele parameter die Flash Player instrueert om minstens één teken op de tekstregel te passen, ongeacht of er een breedte is opgegeven (zelfs als de breedte nul of negatief is, wat anders tot een uitzonderingsfout zou leiden).
|
flash.text.engine:TextLine — Een tekstregel of null als het tekstblok leeg is of als de opgegeven breedte kleiner is dan de breedte van het volgende element. U kunt deze twee gevallen van elkaar onderscheiden door de eigenschap textLineCreationResult van het tekstblok in te schakelen.
|
Gegenereerde uitzondering
ArgumentError — Als de TextLine die wordt opgegeven door previousLine ongeldig is.
| |
ArgumentError — Als de TextLine die is opgegeven door previousLine eigendom is van een ander TextBlock.
| |
ArgumentError — Als width kleiner is dan nul, tenzij fitSomething true is.
| |
ArgumentError — Als width groter is dan TextLine.MAX_LINE_WIDTH .
| |
IllegalOperationError — Als een of meer elementen in de inhoud van het tekstblok een null ElementFormat heeft.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
createTextLine()
aangeroepen om regels tekst in een tekstblok te maken. Hiervoor worden de volgende taken uitgevoerd:
- Maakt een TextElement uit een String en voorziet deze van lettergrootte 20
- Maakt een TextBlock en wijst het TextElement hieraan toe
- Roept
createTextLine()
aan om regels van 300 pixels breed uit het tekstblok te maken - Plaatst elke regel op Stage (
addChild()
) en stelt de positie in (x
eny
)
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 | () | methode |
public function dump():String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Dumpt de onderliggende inhoud van het TextBlock als een XML-reeks. Dit kan nuttig zijn bij geautomatiseerd testen en bevat tekst-, opmaak- en renderinginformatie.
Hieronder wordt de uitvoer beschreven:
>block< [0-N LINE] >/block<
Zie de methode TextLine.dump() voor een beschrijving van de uitvoer voor elke regel.
Opmerking: De inhoud en opmaak van de uitvoer kunnen in de toekomst veranderen. Achterwaartse compatibiliteit van deze methode wordt door Adobe niet gegarandeerd.
Geretourneerde waardeString |
Verwante API-elementen
findNextAtomBoundary | () | methode |
public function findNextAtomBoundary(afterCharIndex:int):int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vindt de index van de volgende atoomgrens vanaf de opgegeven tekenindex, exclusief het teken bij de opgegeven index. De tekens tussen atoomgrenzen worden gecombineerd tot een atoom in een TextLine
, zoals een 'e' met een accent aigu.
Parameters
afterCharIndex:int — Geeft de index aan van het teken dat wordt gebruikt als uitgangspunt voor het zoeken naar de volgende atoomgrens.
|
int — De index van de volgende atoomgrens vanaf de opgegeven tekenindex.
|
Gegenereerde uitzondering
RangeError — De opgegeven index bevindt zich buiten het bereik.
| |
IllegalOperationError — De TextLine waarbij het teken in de index hoort, is niet geldig.
|
Verwante API-elementen
findNextWordBoundary | () | methode |
public function findNextWordBoundary(afterCharIndex:int):int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vindt de index van de volgende woordgrens vanaf de opgegeven tekenindex, exclusief het teken bij de opgegeven index. Woordgrenzen worden bepaald op basis van de Unicode-eigenschappen van de tekens.
Parameters
afterCharIndex:int — Geeft de index aan van het teken dat wordt gebruikt als uitgangspunt voor het zoeken naar de volgende woordgrens.
|
int — De index van de volgende woordgrens vanaf de opgegeven tekenindex.
|
Gegenereerde uitzondering
RangeError — De opgegeven index bevindt zich buiten het bereik.
| |
IllegalOperationError — De TextLine waarbij het teken in de index hoort, is niet geldig.
|
findPreviousAtomBoundary | () | methode |
public function findPreviousAtomBoundary(beforeCharIndex:int):int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vindt de index van de vorige atoomgrens tot aan de opgegeven tekenindex, exclusief het teken bij de opgegeven index. De tekens tussen atoomgrenzen worden gecombineerd tot een atoom in een TextLine
, zoals een 'e' met een accent aigu.
Parameters
beforeCharIndex:int — Geeft de index aan van het teken dat wordt gebruikt als uitgangspunt voor het zoeken naar de vorige atoomgrens.
|
int — De index van de vorige atoomgrens tot aan de opgegeven tekenindex.
|
Gegenereerde uitzondering
RangeError — De opgegeven index bevindt zich buiten het bereik.
| |
IllegalOperationError — De TextLine waarbij het teken in de index hoort, is niet geldig.
|
Verwante API-elementen
findPreviousWordBoundary | () | methode |
public function findPreviousWordBoundary(beforeCharIndex:int):int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Vindt de index van de vorige woordgrens tot aan de opgegeven tekenindex, exclusief het teken bij de opgegeven index. Woordgrenzen worden bepaald op basis van de Unicode-eigenschappen van de tekens.
Parameters
beforeCharIndex:int — Geeft de index aan van het teken dat wordt gebruikt als uitgangspunt voor het zoeken naar de vorige woordgrens.
|
int — De index van de vorige woordgrens tot aan de opgegeven tekenindex.
|
Gegenereerde uitzondering
RangeError — De opgegeven index bevindt zich buiten het bereik.
| |
IllegalOperationError — De TextLine waarbij het teken in de index hoort, is niet geldig.
|
getTextLineAtCharIndex | () | methode |
public function getTextLineAtCharIndex(charIndex:int):flash.text.engine:TextLine
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Hiermee wordt de TextLine geretourneerd met het teken dat door de parameter charIndex
is opgegeven.
Parameters
charIndex:int — De op nul gebaseerde indexwaarde van het teken (het eerste teken is bijvoorbeeld 0, het tweede teken 1, enzovoort).
|
flash.text.engine:TextLine — De TextLine met het teken op charIndex .
|
Gegenereerde uitzondering
RangeError — De opgegeven tekenindex bevindt zich buiten het bereik.
|
recreateTextLine | () | methode |
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
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Instrueert het tekstblok om een bestaande tekstregel opnieuw te gebruiken voor het maken van een tekstregel uit de inhoud, te beginnen vanaf het punt dat wordt aangegeven door de parameter previousLine
tot het punt dat wordt aangegeven door de parameter width
. De tekstregel is een TextLine-object dat u aan de weergavelijst kunt toevoegen. Door een bestaande tekstregel opnieuw te gebruiken worden er minder objecten gemaakt, met als gevolg betere prestaties.
De textLine
die opnieuw wordt gemaakt, wordt indien van toepassing vrijgegeven uit het tekstblok waarin de textLine zich bevindt. Bovendien worden alle eigenschappen, inclusief overgenomen eigenschappen van DisplayObjectContainer
, InteractiveObject
en DisplayObject
, teruggezet naar hun standaardwaarden. Ten slotte worden alle onderliggende elementen van de regel verwijderd, waaronder grafische elementen en andere decoratieve elementen. Ook worden alle gebeurtenislisteners van de regel verwijderd. De regel zelf wordt niet uit het bovenliggende element verwijderd. Ter verbetering van de prestaties is dit de enige uitzondering op deze complete terugzetting naar de standaardwaarden
Als u regels laat doorlopen in een tekstblok waar al tekstdoorloop aanwezig is, kan dit de geldigheidsstatus van regels wijzigen in en buiten het gebied van de tekstdoorloop. De status van regels kan van VALID veranderen in INVALID of in POSSIBLY_INVALID. Als een zojuist afgebroken regel perfect is uitgelijnd met een eerder afgebroken regel met de status POSSIBLY_INVALID, verandert de status van die eerder afgebroken regel en alle volgende regels met status POSSIBLY_INVALID terug naar de status VALID. De geldigheid van regels die op waarden zijn ingesteld die geen lid zijn van TextLineValidity
verandert niet in VALID, maar kan wel veranderen in INVALID. Controleer de eigenschap firstInvalidLine
na elke wijziging in het tekstblok om te zien waar u moet beginnen of moet doorgaan met het opnieuw afbreken van tekstregels.
U kunt woorden kunstmatig afbreken door het Unicode-teken ZWSP (Zero Width Space) in de tekst op te nemen. Dit kan nuttig zijn voor talen als Thai, waarvoor een dictionary nodig is om regels correct af te breken. De Flash-runtime bevat deze bibliotheek niet.
Om geheugenoverhead te beperken, wanneer alle gewenste lijnen zijn gemaakt, behalve als wordt verwacht dat alle lijnen herhaaldelijk opnieuw gebroken worden doordat, bijvoorbeeld, de grootte van de container opnieuw wordt vastgesteld, moet de gebruiker de releaseLineCreationData()
-methode oproepen, waardoor het tekstblok kan beschikken over tijdelijke gegevens die betrekking hebben op regelafbreking.
Parameters
textLine:flash.text.engine:TextLine — Geeft aan dat een eerder gemaakte TekstLine opnieuw moet worden gebruikt.
| |
previousLine:flash.text.engine:TextLine (default = null ) — Geeft de eerder doorgelopen regel aan waarna tekstdoorloop moet beginnen. Kan null zijn als dit de eerste regel is die doorloopt.
| |
width:Number (default = 1000000 ) — Geeft de gewenste breedte van de regel in pixels aan. De werkelijke breedte kan minder zijn.
| |
lineOffset:Number (default = 0.0 ) — Een optionele parameter die het verschil in pixels aangeeft tussen de oorsprong van de regel en de oorsprong van de tabstops. Kan worden gebruikt als regels niet uitgelijnd zijn, maar de tabstops dit wel moeten zijn. De standaardwaarde voor deze parameter is 0.0 .
| |
fitSomething:Boolean (default = false ) — Een optionele parameter die Flash Player instrueert om minstens één teken op de tekstregel te passen, ongeacht of er een breedte is opgegeven (zelfs als de breedte nul of negatief is, wat anders tot een uitzonderingsfout zou leiden).
|
flash.text.engine:TextLine — Een tekstregel of null als het tekstblok leeg is of als de opgegeven breedte kleiner is dan de breedte van het volgende element. U kunt deze twee gevallen van elkaar onderscheiden door de eigenschap textLineCreationResult van het tekstblok in te schakelen.
|
Gegenereerde uitzondering
ArgumentError — Als textLine de waarde null heeft.
| |
ArgumentError — Als de TextLine die wordt opgegeven door previousLine ongeldig is.
| |
ArgumentError — Als de TextLine die is opgegeven door previousLine eigendom is van een ander TextBlock.
| |
ArgumentError — Als de TextLine die wordt opgegeven door previousLine ook wordt opgegeven door textLine .
| |
ArgumentError — Als width kleiner is dan nul, tenzij fitSomething true is.
| |
ArgumentError — Als width groter is dan TextLine.MAX_LINE_WIDTH .
| |
IllegalOperationError — Als een of meer elementen in de inhoud van het tekstblok een null ElementFormat heeft.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
textLine
opnieuw gebruikt:
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 | () | methode |
public function releaseLineCreationData():void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Geeft het tekstblok de opdracht om alle tijdelijke gegevens vrij te geven die gekoppeld zijn aan de creatie van tekstregels. Als u het geheugengebruik van een toepassing wilt minimaliseren, kunt u de methode releaseLineCreationData()
aanroepen wanneer u klaar bent met het maken van tekstregels van een tekstblok. Voor de beste resultaten bij het opnieuw afbreken van regels (bijvoorbeeld wanneer de afmetingen van de container worden gewijzigd) kunt u de methode releaseLineCreationData()
beter niet aanroepen. De toepassing bepaalt de balans tussen geheugen en prestaties.
Het volgende proces wordt aanbevolen voor tekst die waarschijnlijk niet wordt gewijzigd: initialiseer een tekstblok, roep zo vaak mogelijk de methode createTextLine()
aan om de gewenste uitvoer te krijgen en roep vervolgens de methode releaseLineCreationData()
aan.
Verwante API-elementen
releaseLines | () | methode |
public function releaseLines(firstLine:flash.text.engine:TextLine, lastLine:flash.text.engine:TextLine):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Verwijdert een aantal tekstregels uit de lijst met regels die door het TextBlock wordt bijgehouden. Hierdoor kunnen de regels worden opgeschoond als er geen andere verwijzingen bestaan.
Stelt de leden textBlock
, nextLine
en previousLine
van de verwijderde regels in op null
. Stelt de validity
van de verwijderde regels en van alle regels die na de verwijderde regels in het TextBlock volgen in op TextLineValidity.INVALID
.
Parameters
firstLine:flash.text.engine:TextLine — Geeft de eerste regel voor vrijgave aan.
| |
lastLine:flash.text.engine:TextLine — Geeft de laatste regel voor vrijgave aan.
|
Gegenereerde uitzondering
ArgumentError — Als de tekstregel die met firstLine of lastLine is opgegeven niet aanwezig is in de lijst met tekstregels die door het tekstblok wordt bijgehouden.
|
Verwante API-elementen
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(); } } }
Wed Jun 13 2018, 11:42 AM Z