Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Recommended Posts

Estou começando no AS3, e estou tentando criar uma elipse em um arquivo .as para um arquivo . fla

 

Abaixo o código que estou usando, a linha em negrito indica o erro 5000.

package {

import flash.display.shape;

public class Ellipse extends Shape {

private var w:Number;

private var h:Number;

 

 

public function Ellipse (width:Number, height:Number){

w = width;

h = height;

}

public function setWidth (newWidth:Number):void {

w = newWidth;

draw();

}

 

public function getWidth():Number{

return w;

}

 

public function setHeight (newHeight:Number):void {

h = newHeight;

draw();

}

 

public function getHeight():Number{

return h;

}

 

private function draw():void{

graphics.lineStyle(1);

graphics.beginFill(0x000000,1);

graphics.drawEllipse(0,0,w,h);

 

}

-------------------------------------------------------

O arquivo .as se chama Ellipse.as e o .fla Ellipse.fla, já declarei a classe no documento fla, nas suas propriedade.

Aguém sabe o que está errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou começando no AS3, e estou tentando criar uma elipse em um arquivo .as para um arquivo . fla

 

Abaixo o código que estou usando, a linha em negrito indica o erro 5000.

package {

import flash.display.shape;

public class Ellipse extends Shape {

private var w:Number;

private var h:Number;

 

 

public function Ellipse (width:Number, height:Number){

w = width;

h = height;

}

public function setWidth (newWidth:Number):void {

w = newWidth;

draw();

}

 

public function getWidth():Number{

return w;

}

 

public function setHeight (newHeight:Number):void {

h = newHeight;

draw();

}

 

public function getHeight():Number{

return h;

}

 

private function draw():void{

graphics.lineStyle(1);

graphics.beginFill(0x000000,1);

graphics.drawEllipse(0,0,w,h);

 

}

-------------------------------------------------------

O arquivo .as se chama Ellipse.as e o .fla Ellipse.fla, já declarei a classe no documento fla, nas suas propriedade.

Aguém sabe o que está errado?

 

 

Essa linha ta errada:

import flash.display.shape; ---> import flash.display.Shape;

 

Falta duas chaves no final da classe.

}}

 

E o mais interessante é você colocar o metodo draw no construtor porque assim que terminar de instanciar a classe e passar os parametros de largura e altura o circula já é criado, você pode encapsular tb, criar um metodo init(); e colocar ele no construtor e dentro do init você colocar o metodo draw.

Outra coisa na hora de instanciar sua classe não use o classPath porque sua classe leva parametros no construtor, use o primeiro quadro.

 

var e:Ellipse = new Ellipse(100,100);

addChild(e);

 

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, tinha me esquecido, mas o erro persiste.

 

 

package {

import flash.display.Shape;

public class Ellipse extends Shape {

private var w:Number;

private var h:Number;

 

 

public function Ellipse (width:Number, height:Number){

w = width;

h = height;

draw();

}

public function setWidth (newWidth:Number):void {

w = newWidth;

draw();

}

 

public function getWidth():Number{

return w;

}

 

public function setHeight (newHeight:Number):void {

h = newHeight;

draw();

}

 

public function getHeight():Number{

return h;

}

 

private function draw():void{

graphics.lineStyle(1);

graphics.beginFill(0x000000,1);

graphics.drawEllipse(0,0,w,h);

 

}

 

 

}

}

 

Os dois erros abaixo apontam para a mesma linha.

erro 1: 1017: The definition of base class Shape was not found.

erro 2: 5000: The class 'Ellipse' must subclass 'flash.display.MovieClip' since it is linked to a library symbol of that type.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz um teste com a sua propria classe e funcionou.

O primeiro erro ta estranho como se não tivesse achado a classe Shape. O segundo já ta relacionado ao simbolo que você linkou, se linkou um simbolo na biblioteca pra usar pela classe a classe tem que herdar o MovieClip.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.