@@ -49,6 +49,7 @@ class Alphabet extends FlxSpriteGroup implements Scrollable
4949
5050 public var distancePerItem : FlxPoint = new FlxPoint (20 , 120 );
5151 public var startPosition : FlxPoint = new FlxPoint (0 , 0 ); // for the calculations
52+ public var doShuffle : Bool = true ; // For dynamic text
5253
5354 public function new (x : Float , y : Float , text : String = " " , ? bold : Bool = true )
5455 {
@@ -372,99 +373,98 @@ class ColoredAlphabet extends Alphabet
372373 }
373374}
374375
375- class DynamicAlphabet extends Alphabet
376- {
377- private var originalText : String ;
378- private var preserveType : Bool ;
376+ class DynamicAlphabet extends Alphabet
377+ {
378+ private var originalText : String ;
379+ private var preserveType : Bool ;
379380
380- public function new (x : Float , y : Float , text : String = " " , ? bold : Bool = true , PreserveType : Bool = false )
381- {
382- super (x , y , text , bold );
383- this .originalText = text ;
384- this .preserveType = PreserveType ;
385- }
381+ public function new (x : Float , y : Float , text : String = " " , ? bold : Bool = true , PreserveType : Bool = false )
382+ {
383+ super (x , y , text , bold );
384+ this .originalText = text ;
385+ this .preserveType = PreserveType ;
386+ }
386387
387- override public function update (elapsed : Float ): Void
388- {
389- super .update (elapsed );
390- this .text = getRandomizedText ();
391- }
388+ override public function update (elapsed : Float ): Void
389+ {
390+ super .update (elapsed );
391+ this .text = doShuffle ? getRandomizedText () : originalText ;
392+ }
392393
393- private function getRandomizedText (): String
394+ private function getRandomizedText (): String
395+ {
396+ var randomizedText : String = ' ' ;
397+ for (i in 0 ... originalText .length )
394398 {
395- var randomizedText : String = ' ' ;
396- for ( i in 0 ... originalText . length )
399+ var char = originalText . charAt ( i ) ;
400+ if ( preserveType )
397401 {
398- var char = originalText .charAt (i );
399- if (preserveType )
402+ if (isLetter (char ))
400403 {
401- if (isLetter (char ))
402- {
403- randomizedText + = getRandomLetter ();
404- }
405- else if (isNumber (char ))
406- {
407- randomizedText + = getRandomNumber ();
408- }
409- else if (isSymbol (char ))
410- {
411- randomizedText + = getRandomSymbol ();
412- }
404+ randomizedText + = getRandomLetter ();
413405 }
414- else
406+ else if ( isNumber ( char ))
415407 {
416- randomizedText + = getRandomCharacter ();
408+ randomizedText + = getRandomNumber ();
409+ }
410+ else if (isSymbol (char ))
411+ {
412+ randomizedText + = getRandomSymbol ();
417413 }
418414 }
419- return randomizedText ;
415+ else
416+ {
417+ randomizedText + = getRandomCharacter ();
418+ }
420419 }
420+ return randomizedText ;
421+ }
421422
422- private function isLetter (char : String ): Bool
423- {
424- return char >= ' A' && char <= ' Z' || char >= ' a' && char <= ' z' ;
425- }
423+ private function isLetter (char : String ): Bool
424+ {
425+ return char >= ' A' && char <= ' Z' || char >= ' a' && char <= ' z' ;
426+ }
426427
427- private function isNumber (char : String ): Bool
428- {
429- return char >= ' 0' && char <= ' 9' ;
430- }
428+ private function isNumber (char : String ): Bool
429+ {
430+ return char >= ' 0' && char <= ' 9' ;
431+ }
431432
432- private function isSymbol (char : String ): Bool
433- {
434- return ! isLetter (char ) && ! isNumber (char );
435- }
433+ private function isSymbol (char : String ): Bool
434+ {
435+ return ! isLetter (char ) && ! isNumber (char );
436+ }
436437
437- private function getRandomLetter (): String
438- {
439- var letters = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" ;
440- return letters .charAt (FlxG .random .int (0 , letters .length - 1 ));
441- }
438+ private function getRandomLetter (): String
439+ {
440+ var letters = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" ;
441+ return letters .charAt (FlxG .random .int (0 , letters .length - 1 ));
442+ }
442443
443- private function getRandomNumber (): String
444- {
445- var numbers = " 0123456789" ;
446- return numbers .charAt (FlxG .random .int (0 , numbers .length - 1 ));
447- }
444+ private function getRandomNumber (): String
445+ {
446+ var numbers = " 0123456789" ;
447+ return numbers .charAt (FlxG .random .int (0 , numbers .length - 1 ));
448+ }
448449
449- private function getRandomSymbol (): String
450- {
451- var symbols = " !@#$%^&*()-_=+[]{}|;:'\" ,.<>?/`~" ;
452- return symbols .charAt (FlxG .random .int (0 , symbols .length - 1 ));
453- }
450+ private function getRandomSymbol (): String
451+ {
452+ var symbols = " !@#$%^&*()-_=+[]{}|;:'\" ,.<>?/`~" ;
453+ return symbols .charAt (FlxG .random .int (0 , symbols .length - 1 ));
454+ }
454455
455- private function getRandomCharacter (): String
456- {
457- var characters = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{}|;:'\" ,.<>?/`~" ;
458- return characters .charAt (FlxG .random .int (0 , characters .length - 1 ));
459- }
456+ private function getRandomCharacter (): String
457+ {
458+ var characters = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{}|;:'\" ,.<>?/`~" ;
459+ return characters .charAt (FlxG .random .int (0 , characters .length - 1 ));
460460 }
461+ }
461462 class DynamicColoredAlphabet extends ColoredAlphabet
462463 {
463464 private var originalText : String ;
464465 private var preserveType : Bool ;
465466 private var dynamicRainbow : Bool ;
466467 private var rainbowThings : Array <flixel.addons.effects.chainable. FlxRainbowEffect >;
467-
468468 private var rainbowSettings = { index : 0 , jump : 1 };
469469
470470 public function new (x : Float , y : Float , text : String = " " , ? bold : Bool = true , ? color : FlxColor = 0xFFFFFF , PreserveType : Bool = false )
@@ -477,7 +477,7 @@ class ColoredAlphabet extends Alphabet
477477 override public function update (elapsed : Float ): Void
478478 {
479479 super .update (elapsed );
480- this .text = getRandomizedText ();
480+ this .text = doShuffle ? getRandomizedText () : originalText ;
481481 if (dynamicRainbow )
482482 {
483483 letters .forEachT (letter -> {
0 commit comments