Comunidad de diseño web y desarrollo en internet online

Ayuda con codigo actionscript 3

Citar            
MensajeEscrito el 06 Jun 2010 08:36 pm
Hola a todos! Estoy tratando de practicar los ejemplo de actionscript que vienen con el manual oficial de adobe flash. En la pagina 442 hay un ejemplo que me tiene de cabeza. No he podido encontrar la forma de probarlo adecuadamente. Quisiera saber si alguien me podria ayudar. El codigo es el siguiente


package
{
import flash.display.Sprite;
public class ClickExample extends Sprite
{
public function ClickExample()
{
var child:ChildSprite = new ChildSprite();
addChild(child);
}
}
}
import flash.display.Sprite;
import flash.events.MouseEvent;
class ChildSprite extends Sprite
{
public function ChildSprite()
{
graphics.beginFill(0xFF0000);
graphics.drawRect(0,0,100,100);
graphics.endFill();
addEventListener(MouseEvent.CLICK, clickHandler);
}
}
function clickHandler(event:MouseEvent):void
{
trace("clickHandler detected an event of type: " + event.type);
trace("the this keyword refers to: " + this);
}

Por isidrotg15

8 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 06 Jun 2010 10:04 pm
Hola,
tienes que crear un nuevo archivo ActionScript llamado ClickExample (ClickExample.as) y ahí copias ese código.
Después creas un nuevo .fla en la misma carpeta donde esté ese archivo, y dentro del .fla en la pestaña de propiedades, donde pone Class escribe "ClickExample" (sin las comillas), y ya podrás ejecutarlo.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 07 Jun 2010 01:20 am
mm de echo creo que copiaste mal el codigo, yo persivo 2 clases una clase Principal "ClickExample" y otra clase que genera un sprite que hace de boton "ChildSprite".

ClickExample.as

Código ActionScript :

package
{
   import flash.display.Sprite;
   
   public class ClickExample extends Sprite
   {
      public function ClickExample()
      {
         var child:ChildSprite = new ChildSprite();
         addChild(child);
      }
   }
}


ChildSprite.as

Código ActionScript :

package 
{
   import flash.display.Sprite;
   import flash.events.MouseEvent;
   
   public class ChildSprite extends Sprite
   {
      public function ChildSprite()
      {
         graphics.beginFill(0xFF0000);
         graphics.drawRect(0,0,100,100);
         graphics.endFill();
         addEventListener(MouseEvent.CLICK, clickHandler);
      }
      
      private function clickHandler(event:MouseEvent):void
      {
         trace("clickHandler detected an event of type: " + event.type);
         trace("the this keyword refers to: " + this);
      }
   }
   
}


ambos archivos debe de estar en la misma carpeta donde esta el fla, y no se te olvide hacer lo que te dijo Isidoro debes de linkear la clase de documento con la clase ClickExample.

Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

chrome
Citar            
MensajeEscrito el 07 Jun 2010 07:39 am

jn_Flash escribió:

mm de echo creo que copiaste mal el codigo, yo persivo 2 clases una clase Principal "ClickExample" y otra clase que genera un sprite que hace de boton "ChildSprite"...

:) Yo también pensé lo mismo al principio, pero después me di cuenta de que tiene toda la pinta de ser un ejemplo para ver cómo crear una función de ámbito global declarándola fuera del package. Si pruebas tu código verás que la salida de "the this keyword refers to:" da como resultado [object ChildSprite], mientras que si pruebas el código de isidrotg15 la salida es [object global].
De todos modos yo personalmente lo haría como tú dices, y buscaría otra solución antes de tener que recurrir a declarar una función global, pero eso ya depende de cada uno.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Jun 2010 01:11 am
He realizado lo que ustedes dos me aconsejan, sin embargo no he tenido resultado alguno, o mas bien al parecer la clase principal se carga o las dos clases, puesto que no me da error. Coorregi algunos errores que tenia el codio e incluso copie el JS Flash. Pero a pesar de todo, el cuadrado que serviria para interactuar con la pelicula, no me sale en el flash player.

Por isidrotg15

8 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 08 Jun 2010 06:34 am
Isidro, Has
1.-Creado un fichero llamado "ClickExample.as" con el código indicado
2.-Creado un fichero llamado "ChildSprite.as" con el código indicado
3.-Creado un .fla nuevo. En la ventana de propiedades, le das el valor "ClickExample" (sin las comillas) a la "Clase de Documento"

NOTA:Los tres ficheros han de estar en el mismo directorio
Debería funcionar :(

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Jun 2010 10:40 am
Chicos, son ustedes una maravilla. Revise cuidadosamente todo siguiendo los pasos indicados y encontre que el fichero ChildSprite tenia la extension .asc, corregi el asunto, y saben lo que paso? oh, que funciono como ustedes me aconsejaron. Un terabyte de Gracias, los quiero a todos

Por isidrotg15

8 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 08 Jun 2010 10:55 am
A pesar de que funció muy bien, quiero solicitarle que me digan cual es la diferencia entre el ejemplo de la pagina 342 y el ejemplo de la pagina 343 del manual oficial en PDF de Adobe Flash. Pues estuve tratando de hacer el ejemplo de acuerdo a lo indicado en la pagina 342 y de ese modo no me salia, por esa razon quiesiera saber cual es la diferencia en esa dos manera de organizar el codigo

Por isidrotg15

8 de clabLevel



Genero:Masculino  

msie8

 

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