Форум 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=144900)

Korben 23.09.2010 19:30

отмена старой отрисовки шейпов
 
Привет всем!
значит наваял класс для хинта, показывается так

Код AS3:

 
public class exHint extends Sprite
{
        private var bg:Shape;
        private var fg:Shape;
        private var text:TextField;
.................
public function Show(r:Rectangle, msg:String):void
                {
                        if ( show ) return;
                        if (contains(bg)) removeChild(bg);
                        if (contains(fg)) removeChild(fg);
                        if (contains(text)) removeChild(text);
 
                        rect = r;
                        x = r.left, y = r.top;
 
                        text.text = msg;
                        text.width = r.width - 8;                       
                        show = true;
 
                        text.alpha = 0;
                        bg.alpha = 0;
                        fg.alpha = 0;
 
                        bg.graphics.beginFill(data.Colors.hint_brd,.4);
                        bg.graphics.drawRoundRect(0, 0, rect.width, text.textHeight+5+8, 10, 10);
                        bg.graphics.endFill();
 
                        fg.graphics.beginFill(data.Colors.hint_wnd,1);
                        fg.graphics.drawRoundRect(4, 4, rect.width-8, text.textHeight+5, 10, 10);
                        fg.graphics.endFill();
 
                        addChild(bg);
                        addChild(fg);
                        addChild(text);
                        timer.reset();
                        timer.start();
                        MainApp.addChild(this);
                }

собственно в r(Rectangle) указывается где рисовать окно подсказки, но обнаружилась неприятная странность: при первом показе - все пучком, а при последующих - видно размеры предыдущих показов, т.е. если предыдущее окно было больше - то оно на следующем маленьком хинте тоже отрисовывается

в чем могут быть причины?

ЗЫ:в таймере увеличивается или уменьшается альфа шейпов и текста

-De- 23.09.2010 19:36

graphics.clear() забыли

Korben 23.09.2010 19:41

Цитата:

Сообщение от -De- (Сообщение 938199)
graphics.clear() забыли

Спасибо блин большое :) (с)масяня


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

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