PDA

Просмотр полной версии : Cookbook AS 3.0 класс Pen.as


Artyom from Kiev
12.12.2008, 18:45
Доброго всем дня помогите пожалуйста разобраться не работает класс выкачаный с сайта разработчиков, ошибки которые нашел устанил но всеравно осталось три одинаковые ошибки "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
21034

kackbip
12.12.2008, 18:57
Вероятно нужно наследоваться от MovieClip. Сейчас проверю.

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

Artyom from Kiev
12.12.2008, 19:14
там еще используется этот класс вроде рабочий21035

ZlPredator
12.12.2008, 22:38
Ужос нах...
Как минимум, добавьте в Pen.as строку
import flash.display.MovieClip;
А также вызывать сие чудо надо
var pen:Pen = new Pen( samleSprite ); // а не samleSprite.graphics

Nemo_c
13.12.2008, 02:25
Хлопче! не там баг ищешь

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 );
}
}
}


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

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 );
}
}
}