Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как задать градиент тексту ? (http://www.flasher.ru/forum/showthread.php?t=207262)

kotyavo 04.04.2014 19:49

Как задать градиент тексту ?
 
Подскажите как применить градиент к тексту?
Код AS3:

var shape_mask_matrix:Matrix = new Matrix();
                                shape_mask_matrix.createGradientBox(255, 255, 90, 0, 0);
                        var shape_mask:Shape = new Shape;
 
                        shape_mask.graphics.beginGradientFill(GradientType.LINEAR, [0xd36300, 0xfcff00], [1, 1], [0,255], shape_mask_matrix);
                        shape_mask.graphics.drawRect(25, 100, 500, 500);
                        shape_mask.graphics.endFill();
 
                        var format_90:TextFormat = new TextFormat;
                                format_90.font = 'Tahoma';
                                format_90.size = 90;
                                format_90.color = 0xEFE284;
                                format_90.bold = true;
                                format_90.align = TextFormatAlign.CENTER;
 
                        score_text = new TextField;
                        score_text.defaultTextFormat = format_90;
                        score_text.width = body.width;
                        score_text.text = '12500';
                        score_text.y = text_top.y + 45;
 
                        addChild(score_text);


Tails 04.04.2014 19:54

1. Нарисовать градиентную полоску шириной и высотой с текстовое поле.
2. Применить текстовое поле как маску к нарисованной полоске.

kotyavo 06.04.2014 22:23

Код AS3:

        public class TextGold extends MovieClip
        {
                public var score_text:TextField;
 
 
 
                public function TextGold(_width:Number, _heidth:Number)
                {
 
 
 
                        var format_90:TextFormat = new TextFormat;
 
                        format_90.font = 'Tahoma';
                        format_90.size = 90;
                        format_90.color = 0xEFE284;
                        format_90.bold = true;
                        format_90.align = TextFormatAlign.CENTER;
 
                        score_text = new TextField;
                        score_text.defaultTextFormat = format_90;
                        score_text.width = _width;
                        score_text.height = _heidth;
                        score_text.text = '12500';
 
                        var shape_mask:Shape = new Shape;
                        var shape_mask_matrix:Matrix = new Matrix();
                        shape_mask_matrix.createGradientBox(_width, _heidth, 90, 0, 0);
                        shape_mask.graphics.beginGradientFill(GradientType.LINEAR, [0xd36300, 0xfcff00], [1, 1], [0,255], shape_mask_matrix);
                        shape_mask.graphics.drawRect(0, 0, _width, _heidth);
                        shape_mask.graphics.endFill();
 
                        shape_mask.cacheAsBitmap=true;
                        score_text.cacheAsBitmap=true;       
 
                        addChild(score_text);
                        addChild(shape_mask);
 
                        shape_mask.mask = score_text;
 
                }

Еще обязательно нужно делать
Код AS3:

shape_mask.cacheAsBitmap=true;
score_text.cacheAsBitmap=true;

Так как флеш не может применить прозрачность к не растровой графике...

Tails 06.04.2014 23:36

Используемый шрифт желательно внедрить. Нет смысла наследоваться от MovieClip, наследуйте Sprite.

kotyavo 07.04.2014 22:08

спс учту.

Кстати о шрифтах я так и не понял как в коде их использовать, после внедрения

djyamato 07.04.2014 22:31

http://as2as3.wordpress.com/2008/10/...embedding-as3/


Часовой пояс GMT +4, время: 02:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.