Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Cookbook AS 3.0 класс Pen.as (http://www.flasher.ru/forum/showthread.php?t=119130)

Artyom from Kiev 12.12.2008 18:45

Cookbook AS 3.0 класс Pen.as
 
Доброго всем дня помогите пожалуйста разобраться не работает класс выкачаный с сайта разработчиков, ошибки которые нашел устанил но всеравно осталось три одинаковые ошибки "1046: Type was not found or was not a compile-time constant: MovieClip." в классе Pen.as.
вот код:
Код:

package main {
        import flash.display.*;
        import ascb.drawing.Pen;
                       
        public class les32 extends Sprite {
               
                //public var sampleSprite:Sprite;
               
                public function les32() {
                        var samleSprite:MovieClip = new MovieClip();

addChild(sampleSprite);

                        var pen:Pen = new Pen( samleSprite.graphics );

                        pen.lineStyle(1);
                       
                        pen.drawLine( 0, 0, 10, 0 );
                        pen.drawLine( 15, 0, 25, 0 );
                        pen.drawLine( 30, 0, 40, 0 );
                        pen.drawLine( 45, 0, 55, 0 );
                }
        }
}

вот код класса Pen.as:

Artyom from Kiev 12.12.2008 18:49

Вложений: 1
Вложение 21034

kackbip 12.12.2008 18:57

Вероятно нужно наследоваться от MovieClip. Сейчас проверю.

Класс бажный. Просто хрень полная. Посмотрел исходник, поплевался и закрыл. Ибо он совсем нерабочий.

Artyom from Kiev 12.12.2008 19:14

Вложений: 1
там еще используется этот класс вроде рабочийВложение 21035

ZlPredator 12.12.2008 22:38

Ужос нах...
Как минимум, добавьте в Pen.as строку
Код AS3:

import flash.display.MovieClip;

А также вызывать сие чудо надо
Код AS3:

var pen:Pen = new Pen( samleSprite ); // а не samleSprite.graphics


Nemo_c 13.12.2008 02:25

Хлопче! не там баг ищешь

Код AS3:

package main {
        import flash.display.*;
        import ascb.drawing.Pen;
 
        public class les32 extends Sprite {
 
                //public var sampleSprite:Sprite;
 
                public function les32() {
                        var samleSprite:MovieClip = new MovieClip();
                  addChild(sampleSprite);//  !!!sampleSprite!=samleSprite!!!
 
                        var pen:Pen = new Pen( samleSprite.graphics );
 
                        pen.lineStyle(1);
 
                        pen.drawLine( 0, 0, 10, 0 );
                        pen.drawLine( 15, 0, 25, 0 );
                        pen.drawLine( 30, 0, 40, 0 );
                        pen.drawLine( 45, 0, 55, 0 );
                }
        }
}


а так будет визуально видно, что класс работает

Код AS3:

package {
        import flash.display.*;
        import ascb.drawing.Pen;
 
        public class PenTest extends Sprite {
 
                //public var sampleSprite:Sprite;
 
                public function PenTest() {
                        var samleSprite:MovieClip = new MovieClip();
 
                                addChild(samleSprite);
 
                        var pen:Pen = new Pen( samleSprite.graphics );
 
                        pen.lineStyle(1);
 
                        pen.drawLine( 0, 0, 0, 10 );
                        pen.drawLine( 15, 0, 25, 0 );
                        pen.drawLine( 30, 0, 40, 0 );
                        pen.drawLine( 45, 0, 55, 0 );
                }
        }
}



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

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