Comunidad de diseño web y desarrollo en internet online

ayudaaaa Clase para usar imagen de fondo en actionscript 3

Citar            
MensajeEscrito el 15 Ene 2010 10:49 pm
Hola,
estaba viendo este tip: http://www.cristalab.com/tips/clase-para-usar-cualquier-imagen-de-fondo-en-actionscript-3-c66602l/
pero no he podido implementarlo!! no se que pasa, según vi el estilo de la clase, no hay que instanciarla obviamente, intente hacer lo que dice M@U en el tip, que identificara la imagen con la clase Pattern, como vi que el nombre de la clase era AddPattern, guarde el archivo .as como AddPattern.as, e identifique la imágen con el nombre de la clase AddPattern, si, era una imágen jpg, su clase base era BitmapData, pero probaba el swf y salian errores:
[code]
1180: Call to a possibly undefined method Pattern.
1067: Implicit coercion of a value of type void to an unrelated type flash.geom:Matrix.
5000: The class 'AddPattern' must subclass 'flash.display.BitmapData' since it is linked to a library symbol of that type.
[code]
intente solucionar eso, asi que puse la imagen en un movieclip y en vez de identificar la imagen con la clase AddPattern,
identifique al movieclip con la clase AddPattern, no funciono ¬¬, asi que borre el movieclip e identifique la imagen con la clase Pattern justo como dice M@U en el tip, como supuse, un estúpido error aparecería XD, (de dónde iba a salir la clase Pattern!?), asi que cambie el nombre de la clase y el archivo a Pattern, el resultado era el mismo ¬¬, asi que me atreví a ver el código, a ver qué podria ser... vi que en una parte se intenta instanciar de la clase Pattern, asi que volvi a poner tódo el código como antes, quedo AddPattern, me di cuenta al final de mi error ¬¬, obviamente la clase AddPattern creaba una instancia de la clase Pattern, osea el bendito bitmap, pero igual no me sirve :S, me sale el siguiente error:
1067: Implicit coercion of a value of type void to an unrelated type flash.geom:Matrix.

si borro el quinto parámetro de esta instancia:

Código ActionScript :

RadialGradient.graphics.beginGradientFill(GradientType.RADIAL,[0x000000,0x000000],[0,.5],[0,255], new Matrix().createGradientBox(stage.stageWidth,stage.stageHeight,0,0,0));


entonces funciona, pero no del modo que deberia :(, me podrian decir cómo cambiar esa linea para que me sirva?
Muchas gracias!
Hasta Luego!

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Ene 2010 10:52 pm

hormy1 escribió:


si borro el quinto parámetro de esta instancia:

XD, el quinto parámetro de esa línea, escribi mal ;)
espero me puedan ayudar
Hasta Luego!

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Ene 2010 11:11 pm
segun el tip , debes de linkear la imagen que esta en la libreria con el nombre de clase "Pattern" , y la clase AddPattern puede ser el document class o bien creas un instancia y agregas al stage, ya que esta exiente de MovieClip.


Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox
Citar            
MensajeEscrito el 15 Ene 2010 11:28 pm
otra cosa que note es que esa clase se usa como DocumentClass si instancias salen errores no controlados , y el error 1067 , se debe a que esta mal creada el objeto matrix , si lo creas primero y despues lo pasas como parametro funciona bien la clase .

Código ActionScript :

public function AddPattern():void
      {
         stage.scaleMode = StageScaleMode.NO_SCALE;
         stage.align = StageAlign.TOP_LEFT;
         Bitmap = new Pattern(0,0);
         // 
         BackGround = new Sprite();
         addChild(BackGround);
         // 
         var matrix:Matrix = new Matrix();
         matrix.createGradientBox(stage.stageWidth,stage.stageHeight,0,0,0);
         RadialGradient = new Sprite();
         RadialGradient.graphics.beginGradientFill(GradientType.RADIAL,[0x000000,0x000000],[0,.5],[0,255],matrix);
         RadialGradient.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);
         addChild(RadialGradient);
         // 
         maxWidth = stage.stageWidth - 1;
         maxHeight = stage.stageHeight - 1;
         // 
         stage.addEventListener(Event.RESIZE, fillStage);
         stage.addEventListener(Event.ADDED, fillStage);
      }



Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox
Citar            
MensajeEscrito el 16 Ene 2010 12:39 pm
Hola compa!
hace rato no hablamos ;)
Gracias por responder, pero ya habia probado con ponerlo como document class,
y no sirvio :S
pero voy a seguir intentando, muchas gracias ^^
Hasta Luego!

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ene 2010 12:46 pm
no me gusta usar document classes ¬¬ la voy a modificar para que sirva para instanciarse :D

Por hormy1

Claber

124 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.