Ir para conteúdo

POWERED BY:

Arquivado

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

Ohrlando

Porque isso dá erro?

Recommended Posts

Olá, eu criei uma classe, onde são miniaturas de fotos.

Preciso colocar uma numeração nelas, entao tentei criar um TextField e add no stage dela.

Importei certinho tudo que é necessário, mas não funciona, ele por motivos estranhos não reconhece Imagem Postada

 

aqui está o código da classe

package {	import flash.display.MovieClip;	import flash.display.Sprite;	import fl.containers.UILoader;	import flash.text.*;	import flash.text.TextField;	import flash.events.Event;	import com.greensock.*;	import com.greensock.easing.*;	import flash.events.MouseEvent;		public class Foto extends Sprite {				public var idNumber:Number;				private var Texto:TextField = new TextField();		private var format:TextFormat = new TextFormat("Arial",12,"0x000000",true,false);		Texto.defaultTextFormat = format;				private var loader:UILoader;		var container:Sprite = new Sprite();		var contorno:Sprite = new Sprite();				public function Foto(source:String, id:uint):void {			name = source;			idNumber = id;			addChild(Texto);			Texto.text = idNumber.toString();			drawContorno();			drawLoader();						addEventListener(MouseEvent.MOUSE_OVER,onOver);			addEventListener(MouseEvent.MOUSE_OUT,onOut);			addEventListener(Event.ENTER_FRAME, onEnter_Frame);			scaleThumb();		}				function drawContorno():void{			contorno.graphics.lineStyle(2, 0xff66cc, .7);			contorno.graphics.lineTo(0, 0);			contorno.graphics.lineTo(0, 72);			contorno.graphics.lineTo(72, 72);			contorno.graphics.lineTo(72, 0);			contorno.graphics.lineTo(0, 0);			addChild(contorno);			contorno.visible = false;		}				function drawLoader():void {			container.graphics.lineStyle(2, 0xff66cc, .7);			container.graphics.lineTo(0, 0);			container.graphics.lineTo(0, 72);			container.graphics.lineTo(72, 72);			container.graphics.lineTo(72, 0);			container.graphics.lineTo(0, 0);			container.visible = false;			addChild(container);			loader = new UILoader();			loader.scaleContent = true;			loader.source = name;			loader.mouseEnabled = false;			this.loader.x = 1;			this.loader.y = 1;			loader.width = 70;			loader.height = 70;						addChild(loader);			addChild(Texto);		}		private function onEnter_Frame(event:Event):void{			if (MovieClip(parent.root).auxObj.name == name){				contorno.visible = true;			} else {				contorno.visible = false;			}		}		private function onOver(event:MouseEvent):void{			container.visible = true;			TweenLite.to (this, .2, {alpha: 1, scaleX:1, scaleY: 1});		}		private function onOut(event:MouseEvent):void {			TweenLite.to (this, .2, {alpha:.7, scaleX: .95, scaleY: .95, onComplete: hideContainer});		}				private function hideContainer(){			container.visible = false;		}		private function scaleThumb():void {			this.scaleX = .95;			this.scaleY = .95;			this.alpha = .75;		}	}}
erros:

Dá dois erros na mesma linha

1120: Access of undefined property Texto. - Texto.defaultTextFormat = format;

1120: Access of undefined property format. - Texto.defaultTextFormat = format;

 

loader é uma imagem.

coloquei o addChild(Texto) depois pra ficar na frente.

 

não entendo o porque desse erro.

não sei se tem haver, mas será que o flash tem limites de "import"?

um certo dia tentei importar um UILoader e simplesmente deu erro no import '-', sendo que estava corretíssimo. Mas não é o caso. Comentei por talvez ser erro no patch do flash, não sei, tô desesperado pra terminar isso Imagem Postada

 

abraço!

 

ps, já tentei ao invés de private var, somente var, e também não vai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os erros acontecem pelos seguintes motivos:

 

1- UILoader é um componente, então tem que ter uma instancia dele na library.

2- O erro do TextFormat é porque ta usado de uma maneira meio errada, segue abaixo:

 

 


 private var legenda:TextField = new TextField();
 private var format:TextFormat = new TextFormat();

//o código aqui abaixo coloquei dentro do construtor
format.font = "Verdana";
format.color = 0xFFFF00;
format.size = 18;
legenda.defaultTextFormat = format;

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente algum erro de logica. Ou o texto esta por tras de alguma forma, ou o texto esta de uma cor que nao da pra ve.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa incrível vocês

 

Deu realmente certo, mas não obtive o resultado esperado Imagem Postada

Imagem Postada

 

ali nas thumbs a direita é onde deveria aparecer os textinhos.

 

a intenção era aparecer um textinho na frente do loader(as miniaturas). Não aparece o texto ou o texto não é visível, não sei. Fiz um teste pra ver se realmente havia um TextFild e sim tinha, inclusive o ponteiro do mouse muda, o text dele é exatamente o que deveria ser (testei com um trace no MOUSE_OVER, mas não entendo porque não consigo visualizá-lo

O que pode ser isso?

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá tudo bem?

Então, muito estranho isso os textos são pretos e as imagens coloridas... mas agora estou tentando fazer diferente, ao inves de criar uma classe só por código, estou criando um objeto na library e chamando. Aí já coloco um Text em uma camada acima de tudO! (:

 

vou tentar fazer aqui, muito obrigado mesmo, qualquer coisa de errado eu volto tá? rsrs

 

abraço! vlw²

 

OMG Não acredito, eu tentei fazer, tava perfeitinho, mas não aparece o bendito texto, procurei na net e achei isso:

 

/* Mascara não funciona com texto dinâmico ou texto de entrada, que por padrão utilizam Device Fonts (fontes de dsipositivo). Você teria que embutir as fontes no filme.

Ou então você está utilizando umas das três fontes _sans _typeWrite ou _serif. Essas fontes não são convertidas em imagens quando o swf é gerado e máscara só funciona com imagens.

 

Fábio Duarte */ http://www.pontoflash.com.br/truques_con.php?autor=40&tema=3&post=488

 

e realmente é meu caso, porque as thumbs estão em uma máscara, e agora que eu faço? =O

ps, não utilizo nenhuma das fontes citadas no post do cara

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.