Paket | flashx.textLayout.compose |
Sınıf | public class StandardFlowComposer |
Miras Alma | StandardFlowComposer FlowComposerBase Object |
Uygular | IFlowComposer |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
compose()
veya updateAllControllers()
öğesine yapılan her çağrı, birinci adım olarak metin akışını normalleştirir. Normalleştirme işlemi, değiştirilmiş TextFlow nesnesinin parçalarını denetler ve şu adımları uygular:
- Boş FlowLeafElement ve SubParagraphGroupElement nesnelerini siler.
- Aynı niteliklere sahip eş yayılma alanlarını birleştirir.
- Bir akış boşsa, boş bir paragraf ekler.
StandardFlowComposer nesnesini kullanmak için, bir TextFlow nesnesinin flowComposer
özelliğine bu nesneyi ekleyin. Akış oluşturucusuna eklenen kaplardaki metnin mizanpajını yapmak ve metni görüntülemek için updateAllControllers()
yöntemini çağırın.
Not: Basit, statik metin akışları için, metin satırı factory sınıflarından birini de kullanabilirsiniz. Bu factory sınıfları genellikle akış oluşturucusundan daha az ek yük içeren çizgiler oluşturur, ancak düzenlemeyi, dinamik değişiklikleri veya kullanıcı etkileşimini desteklemez.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
composing : Boolean [salt okunur]
Akış oluşturucusu geçerli olarak bir kompozisyon işlemi gerçekleştiriyorsa, true. | StandardFlowComposer | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
damageAbsoluteStart : int [salt okunur]
Metin akışında birinci öğeden hemen önce gelen ve kompozisyon ve güncelleme gerektiren mutlak konum. | FlowComposerBase | ||
numControllers : int [salt okunur]
Bu IFlowComposer örneğine atanan kapların sayısı. | StandardFlowComposer | ||
numLines : int [salt okunur]
Akışta oluşturulan toplam satır sayısı. | FlowComposerBase | ||
rootElement : ContainerFormattedElement [salt okunur]
Bu IFlowComposer örneğiyle ilişkilendirilmiş kök öğesi. | StandardFlowComposer | ||
swfContext : ISWFContext
Gerektiğinde FTE çağrıları yapmak için kullanılan ISWFContext örneği. | FlowComposerBase | ||
textFlow : flashx.textLayout.elements:TextFlow [salt okunur]
Bu akış oluşturucusunun eklendiği TextFlow nesnesi. | FlowComposerBase |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Bir StandardFlowComposer nesnesi oluşturur. | StandardFlowComposer | ||
Bu IFlowComposer örneğine bir denetleyici ekler. | StandardFlowComposer | ||
Belirtilen dizindeki bu IFlowComposer örneğine bir denetleyici ekler. | StandardFlowComposer | ||
Akışın kök öğesindeki içeriği görüntülemek ve bu satırların, akışın görüntüleme kaplarındaki konumlarını göstermek için kaç satırın gerekli olduğunu hesaplar. | StandardFlowComposer | ||
Kök öğenin içeriğini belirtilen dizindeki kaba kadar ve o kap da dahil olacak şekilde oluşturur. | StandardFlowComposer | ||
Belirtilen konuma kadar kök öğenin içeriğini oluşturur. | StandardFlowComposer | ||
Satırları hasarlı ve "yeniden oluşturulması gerekiyor" olarak işaretleyin. | FlowComposerBase | ||
Belirtilen konumdaki içeriği barındıran denetleyicinin dizinini döndürür. | StandardFlowComposer | ||
findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Belirtilen konumdaki içeriği barındıran TextFlowLine nesnesini döndürür. | FlowComposerBase | ||
Belirtilen konumdaki içeriği barındıran TextFlowLine nesnesinin sıralı satır numarasını döndürür. | FlowComposerBase | ||
Belirtilen ContainerController nesnesindeki birinci içerik öğesinin mutlak konumunu döndürür. | StandardFlowComposer | ||
Belirtilen konumdaki ContainerController nesnesini döndürür. | StandardFlowComposer | ||
Belirtilen ContainerController nesnesinin dizinini döndürür. | StandardFlowComposer | ||
Belirtilen satır numarasına sahip satırı döndürür. | FlowComposerBase | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Etkileşim yöneticisi değiştiğinde, TextFlow tarafından çağrılır. | StandardFlowComposer | ||
Akışın başı ile belirtilen konumdaki içeriği barındıran satır arasındaki herhangi bir TextFlowLine nesnesinin hasarlı olarak işaretlenip işaretlenmediğini belirtir. | FlowComposerBase | ||
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 | ||
Bu IFlowComposer örneğinden tüm denetleyicileri kaldırır. | StandardFlowComposer | ||
Bu IFlowComposer örneğinden bir denetleyiciyi kaldırır. | StandardFlowComposer | ||
Bu IFlowComposer örneğinden, belirtilen dizindeki denetleyiciyi kaldırır. | StandardFlowComposer | ||
absolutePosition parametresinin belirttiği konumu içeren kaba odağı ayarlar. | StandardFlowComposer | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
StandardFlowComposer | |||
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 | ||
Kök öğesinin içeriğini oluşturur ve görünümü günceller. | StandardFlowComposer | ||
TextFlow öğesine eşlemeyi korumak için satırlardaki uzunlukları güncelleyin. | FlowComposerBase | ||
Belirtilen dizindeki kaba kadar ve o kap da dahil olacak şekilde görünümü oluşturur ve günceller. | StandardFlowComposer | ||
Belirtilen nesnenin temel değerini döndürür. | Object |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Kompozisyon gerekliyse true değerini, aksi takdirde false değerini döndürür. | StandardFlowComposer |
composing | özellik |
numControllers | özellik |
rootElement | özellik |
rootElement:ContainerFormattedElement
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bu IFlowComposer örneğiyle ilişkilendirilmiş kök öğesi.
Yalnızca bir TextFlow nesnesi kök öğesi olabilir.
Uygulama
public function get rootElement():ContainerFormattedElement
StandardFlowComposer | () | Yapıcı |
public function StandardFlowComposer()
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bir StandardFlowComposer nesnesi oluşturur.
StandardFlowComposer nesnesini kullanmak için, bir TextFlow nesnesinin flowComposer
özelliğine bu nesneyi ekleyin. Akış oluşturucusuna eklenen kaplardaki metnin mizanpajını yapmak ve metni görüntülemek için updateAllControllers()
yöntemini çağırın.
Örnek ( Bu örnek nasıl kullanılır? )
package flashx.textLayout.compose.examples { import flashx.textLayout.elements.TextFlow; import flashx.textLayout.compose.StandardFlowComposer; public class StandardFlowComposer_constructor { public function createComposer(textFlow:TextFlow):void { textFlow.flowComposer = new StandardFlowComposer(); } } }
addController | () | yöntem |
public function addController(controller:ContainerController):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bu IFlowComposer örneğine bir denetleyici ekler.
Kap listesinin sonuna kap eklenir.
Parametreler
controller:ContainerController — Eklenecek ContainerController nesnesi.
|
Örnek ( Bu örnek nasıl kullanılır? )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_addController { import flash.display.Sprite; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.container.ContainerController; public function setupController(textFlow:TextFlow):void { var container:Sprite = new Sprite(); var controller:ContainerController = new ContainerController( container, 400, 200 ); textFlow.flowComposer.addController( controller ); } } }
addControllerAt | () | yöntem |
public function addControllerAt(controller:ContainerController, index:int):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Belirtilen dizindeki bu IFlowComposer örneğine bir denetleyici ekler.
Denetleyiciler listesi 0 tabanlıdır (birinci denetleyicinin dizini 0'dır).
Parametreler
controller:ContainerController — Eklenecek ContainerController nesnesi.
| |
index:int — ContainerController nesnesinin denetleyici listesine ekleneceği konumu belirten sayısal dizin.
|
Örnek ( Bu örnek nasıl kullanılır? )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_addControllerAt { import flash.display.Sprite; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.container.ContainerController; public function setupController(textFlow:TextFlow):void { var container:Sprite = new Sprite(); var controller:ContainerController = new ContainerController( container, 400, 200 ); textFlow.flowComposer.addControllerAt( controller, 0 ); } } }
compose | () | yöntem |
public function compose():Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Akışın kök öğesindeki içeriği görüntülemek ve bu satırların, akışın görüntüleme kaplarındaki konumlarını göstermek için kaç satırın gerekli olduğunu hesaplar.
compose()
yöntemi yalnızca son kompozisyon işleminden sonra değişmişse içerik oluşturur. Akış içeriği değişmediğinde compose()
veya updateAllControllers()
öğesine yapılan sonraki çağrıların ek bir yeniden kompozisyon işlemi gerçekleştirmemesi için sonuçlar kaydedilir.
Herhangi bir kabın içeriği değiştiyse, yöntem true
değerini döndürür.
Boolean — herhangi bir şey değiştiyse, true.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_compose { import flashx.textLayout.elements.TextFlow; public function compose(textFlow:TextFlow):void { textFlow.flowComposer.compose(); } } }
composeToController | () | yöntem |
public function composeToController(index:int):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Kök öğenin içeriğini belirtilen dizindeki kaba kadar ve o kap da dahil olacak şekilde oluşturur.
Belirtilen dizindeki kaba kadar ve o kap da dahil olacak şekilde herhangi bir kabın içeriği değiştiyse, yöntem true
değerini döndürür. index
derleyicilerin sayısından daha büyük ise (veya belirtilmemişse), tüm kaplar oluşturulur.
Parametreler
index:int (default = NaN ) — TextFlow içinde en az bu kaba kadar oluşturur. controllerIndex denetleyici sayısından daha büyükse, son kabın sonuna kadar oluşturun.
|
Boolean — herhangi bir şey değiştiyse, true.
|
Örnek ( Bu örnek nasıl kullanılır? )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_composeToController { import flashx.textLayout.elements.TextFlow; public function compose(textFlow:TextFlow):void { textFlow.flowComposer.composeToController( 3 ); } } }
composeToPosition | () | yöntem |
public function composeToPosition(absolutePosition:int):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Belirtilen konuma kadar kök öğenin içeriğini oluşturur.
Belirtilen konumdaki içeriği barındıran kaba kadar ve o kap da dahil olacak şekilde herhangi bir kabın içeriği değiştiyse, yöntem true
değerini döndürür. absolutePosition
TextFlow öğesinin uzunluğundan daha büyükse (veya belirtilmemişse), akışın tamamı oluşturulur.
Parametreler
absolutePosition:int (default = NaN ) — TextFlow içinde bu konuma kadar oluşturur. Varsayılan olarak veya absolutePosition akış oluşturmanın sonundan akışın sonuna geçmişse.
|
Boolean — herhangi bir şey değiştiyse, true.
|
Örnek ( Bu örnek nasıl kullanılır? )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_composeToPosition { import flashx.textLayout.elements.TextFlow; public function compose(textFlow:TextFlow):void { textFlow.flowComposer.composeToPosition( 344 ); } } }
findControllerIndexAtPosition | () | yöntem |
public function findControllerIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Belirtilen konumdaki içeriği barındıran denetleyicinin dizinini döndürür.
Konum, bir metin akışının iki karakteri arasındaki veya diğer öğeleri arasındaki bölüm olarak değerlendirilebilir. absolutePosition
öğesindeki değer, bir kabın son karakteri ile bir sonraki kabın birinci karakteri arasında bir konum olduğunda, preferPrevious
parametresi true
değerine ayarlanırsa önceki kap döndürülürken, preferPrevious
parametresi false
değerine ayarlanırsa sonraki kap döndürülür.
Belirtilen konumdaki içerik herhangi bir kapta değilse veya metin akışındaki konum aralığı dışındaysa, yöntem -1 değerini döndürür.
Parametreler
absolutePosition:int — Kap dizininin arandığı içerik konumu.
| |
preferPrevious:Boolean (default = false ) — Konum bir kaptaki son öğe ile bir sonraki kaptaki birinci öğe arasında olduğunda döndürülecek kap dizinini belirtir.
|
int — kap denetleyicisinin dizini veya bulunmazsa, -1.
|
Örnek ( Bu örnek nasıl kullanılır? )
package flashx.textLayout.compose.examples { import flashx.textLayout.elements.TextFlow; import flashx.textLayout.compose.StandardFlowComposer; public class StandardFlowComposer_findControllerIndexAtPosition { public function findControllerIndexAtPosition(textFlow:TextFlow):void { var index:int = textFlow.flowComposer.findControllerIndexAtPosition( 344 ); } } }
getAbsoluteStart | () | yöntem |
public function getAbsoluteStart(controller:ContainerController):int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Belirtilen ContainerController nesnesindeki birinci içerik öğesinin mutlak konumunu döndürür.
Konum, bir metin akışının iki karakteri arasındaki veya diğer öğeleri arasındaki bölüm sayılarak hesaplanır. Akışın birinci öğesinden önceki konum sıfırdır. Mutlak konum, akışın başından itibaren sayılan konumdur.
Parametreler
controller:ContainerController — Bu akış oluşturucusu ile ilişkilendirilmiş ContainerController nesnesi.
|
int — ContainerController öğesinde birinci karakterden veya grafikten önceki konum.
|
getControllerAt | () | yöntem |
public function getControllerAt(index:int):ContainerController
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Belirtilen konumdaki ContainerController nesnesini döndürür.
Parametreler
index:int — Döndürülecek ContainerController nesnesinin dizini.
|
ContainerController — belirtilen konumdaki ContainerController nesnesi.
|
Örnek ( Bu örnek nasıl kullanılır? )
package flashx.textLayout.compose.examples { import flashx.textLayout.elements.TextFlow; import flashx.textLayout.container.ContainerController; public class StandardFlowComposer_getControllerAt { public function findControllerIndexAtPosition(textFlow:TextFlow):void { var controller:ContainerController = textFlow.flowComposer.getControllerAt( 0 ); } } }
getControllerIndex | () | yöntem |
public function getControllerIndex(controller:ContainerController):int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Belirtilen ContainerController nesnesinin dizinini döndürür.
Parametreler
controller:ContainerController — Bulunacak ContainerController nesnesine başvuru.
|
int — belirtilen ContainerController nesnesinin dizini veya denetleyici bu akış oluşturucusuna bağlanmadıysa, -1.
|
Örnek ( Bu örnek nasıl kullanılır? )
package flashx.textLayout.compose.examples { import flashx.textLayout.elements.TextFlow; import flashx.textLayout.container.ContainerController; public class StandardFlowComposer_getControllerIndex { public function getControllerIndex(textFlow:TextFlow, controller:ContainerController):void { var index:int = textFlow.flowComposer.getControllerIndex( controller ); } } }
interactionManagerChanged | () | yöntem |
public function interactionManagerChanged(newInteractionManager:ISelectionManager):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Etkileşim yöneticisi değiştiğinde, TextFlow tarafından çağrılır.
Bu işlev otomatik olarak çağrılır. Kodunuzun genellikle bu yöntemi çağırması gerekmez. StandardFlowComposer öğesini genişleten sınıflar, etkileşim yöneticisine bağlı olay dinleyicilerini ve diğer özellikleri güncellemek için bu yöntemi geçersiz kılabilir.
Parametreler
newInteractionManager:ISelectionManager — Yeni ISelectionManager örneği.
|
preCompose | () | yöntem |
removeAllControllers | () | yöntem |
public function removeAllControllers():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bu IFlowComposer örneğinden tüm denetleyicileri kaldırır.
removeController | () | yöntem |
public function removeController(controller:ContainerController):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Bu IFlowComposer örneğinden bir denetleyiciyi kaldırır.
Parametreler
controller:ContainerController — Kaldırılacak ContainerController örneği.
|
removeControllerAt | () | yöntem |
setFocus | () | yöntem |
public function setFocus(absolutePosition:int, leanLeft:Boolean = false):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
absolutePosition
parametresinin belirttiği konumu içeren kaba odağı ayarlar.
StandardFlowComposer, belirtilen metin akışı konumunu içeren ContainerController nesnesinin setFocus()
yöntemini çağırır.
Parametreler
absolutePosition:int — Odağı alacak kabın metin akışındaki konumunu belirtir.
| |
leanLeft:Boolean (default = false ) — True değerindeyse ve konum bir kaptaki birinci karakterden önceyse, önceki kabın sonuna odağı ayarlar.
|
İlgili API Öğeleri
setRootElement | () | yöntem |
public function setRootElement(newRootElement:ContainerFormattedElement):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Parametreler
newRootElement:ContainerFormattedElement |
updateAllControllers | () | yöntem |
public function updateAllControllers():Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Kök öğesinin içeriğini oluşturur ve görünümü günceller.
Metin mizanpajı iki aşamada yürütülür: kompozisyon ve görüntüleme. Kompozisyon aşamasında akış oluşturucusu, içeriği görüntülemek için kaç tane satırın gerekli olduğunu ve bu satırların akışın görüntüleme kaplarındaki konumunu hesaplar. Görüntüleme aşamasında akış oluşturucusu, kaplarının görüntüleme nesnesi alt öğelerini günceller. updateAllControllers()
yöntemi sırayla her iki aşamayı başlatır. StandardFlowComposer, tam kompozisyon ve görüntüleme döngüsünün yalnızca gerektiğinde gerçekleştirilmesi için içeriğe yapılan değişiklikleri izler.
Bu yöntem tüm metin satırlarını ve görüntüleme listesini hemen ve eşzamanlı şekilde günceller.
Herhangi bir kabın içeriği değişirse, yöntem true
değerini döndürür.
Boolean — herhangi bir şey değiştiyse, true.
|
updateToController | () | yöntem |
public function updateToController(index:int):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Belirtilen dizindeki kaba kadar ve o kap da dahil olacak şekilde görünümü oluşturur ve günceller.
updateToController()
yöntemi içeriği oluşturur ve belirtilen dizindeki kaba kadar ve o kap da dahil olacak şekilde tüm kapların görünümünü günceller. Örneğin, 20 kaplık bir zinciriniz varsa ve 10 dizinini belirtirseniz, updateToController()
öğesi birinciden onuncuya kadar (0-9 arasındaki dizinler) kapların oluşturulmasını ve görüntülenmesini sağlar. Kompozisyon bu noktada durur. controllerIndex
öğesi -1 (veya belirtilmemiş) olursa, tüm kaplar güncellenir.
Bu yöntem tüm metin satırlarını ve görüntüleme listesini hemen ve eşzamanlı şekilde günceller.
Herhangi bir kabın içeriği değişirse, yöntem true
değerini döndürür.
Parametreler
index:int (default = NaN ) — güncellenecek son kabın dizini (varsayılan olarak tüm kapları günceller)
|
Boolean — herhangi bir şey değiştiyse, true .
|
importToFlow()
yöntemi kullanılarak oluşturulur.
package flashx.textLayout.compose.examples { import flash.display.Sprite; import flashx.textLayout.compose.StandardFlowComposer; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.elements.TextFlow; public class StandardFlowComposer_ClassExample extends Sprite { private var poem:String = "Sonnet 18\n" + "Shall I compare thee to a summer's day?\n" + "Thou art more lovely and more temperate:\n" + "Rough winds do shake the darling buds of May,\n" + "And summer's lease hath all too short a date:\n" + "Sometime too hot the eye of heaven shines,\n" + "And often is his gold complexion dimmed,\n" + "And every fair from fair sometime declines,\n" + "By chance, or nature's changing course untrimmed:\n" + "But thy eternal summer shall not fade,\n" + "Nor lose possession of that fair thou ow'st,\n" + "Nor shall death brag thou wand'rest in his shade,\n" + "When in eternal lines to time thou grow'st,\n" + "So long as men can breathe or eyes can see,\n" + "So long lives this, and this gives life to thee.\n" + "William Shakespeare\n"; private var flow:TextFlow; public function StandardFlowComposer_ClassExample() { var firstContainer:Sprite = new Sprite(); firstContainer.x = 180; firstContainer.y = 30; this.stage.addChild( firstContainer ); var secondContainer:Sprite = new Sprite(); secondContainer.x = 30; secondContainer.y = 130 this.stage.addChild( secondContainer ); var firstController:ContainerController = new ContainerController( firstContainer, 300, 100 ); var secondController:ContainerController = new ContainerController( secondContainer, 800, 600 ); flow = TextConverter.importToFlow( poem, TextConverter.PLAIN_TEXT_FORMAT ); flow.flowComposer = new StandardFlowComposer();; flow.flowComposer.addController( firstController ); flow.flowComposer.addController( secondController ); flow.flowComposer.updateAllControllers(); } } }
Tue Jun 12 2018, 01:09 PM Z