AutoCAD
  FAQ
  Tutorial
  Bloques
  AutoLisp
  Enlaces
 
    3ds Max
  Tutorial
  Objetos
  Galería
  Plug-in
  Enlaces
 
    ArchiCAD
  Consultorio
  Tutorial
  Objetos
  GDL
  Galería
  Noticias
  Enlaces
 
    Flash
  Tutorial
  Codigo abierto
  Galería
  Plug-in
  Enlaces
 
    Servicios
  Foro
  Buscador
 
 

 

ActionScript

 

Pues nada ahora si que la hemos liado. Nos vamos a poner juntos con el maravilloso y farragoso mundo del ActionScript.

Empezaremos lentamente, intentando que las cosas te queden de lo mas claritas posible. Esto no es nada facil, y tanto a ti como a mi nos va a costar bastante explicarlo, y entenderlo. Siempre y cuando no seas un maquinita de la programacion (cosa que yo no soy).

1 Veras que este lenguaje si sabes programar en JavaScript te sonara de lo mas familiar. Pero claro nosotros siempre partimos de cero, cerito, cero. Por lo que te tengo que explicar una serie de conceptos, sin los cuales no se puede comprender este lenguaje.

Objeto: Cualquier elemento que crees en Flash desde una pelicula, hasta un grafico pasando por botones, o funciones numericas... es decir de los otros tutoriales cualquier elemento de los que hemos usado para hacerlos.

Instancia: cuando uno de los objetos que tomamos y ponemos en la pelicula principal. Es decir tu creas un objeto y lo tienes en la biblioteca de Flash, al llevarlo al escenario es una instancia, es decir una copia del objeto en el escenario.

Palabra clave: son una serie de palabras tipo que estan ya definidas en el lenguaje y que hacen que realice una serie de ordenes distintas.

ActionScript: son Scripts, es decir lineas de comandos que realizan acciones. Estas acciones indicaran a Flash lo que queremos que haga. Estas accione se podran ejecutar sobre un Fotograma o sobre un objeto. Es decir que estas acciones se asocian a un objeto o a un frame.

Panel de acciones: es donde se escriben los Scripts se activa en los menus de arriba en window y despues en action o con la combinacion Ctrl+Alt+A. Tiene dos modos el principiante y el experto. Al principio es mejor usar el normal, (que te corrige los fallos de sintaxis)

 

2 Bueno despues de haberte dado un poco la paliza teorica en contra de mis principios, empezaremos con ejemplos practicos.... o mas o menos practicos. Aunque ya te advierto que al principo, para que tengas las cosas claras te tengo que dar todavia un poco mas la paliza.

Pero bueno vamos a empeza con un ejemplito para que te entrengas mas....

Vamos a hacer que un elemento (el que tue quieras) para poderlo desplazar por el escenario.

 

Empezamos creando un objeto clip de pelicula, (espero que despues de los anteriores tutoriales ya sepas hacerlo) pero te lo repetire..... porque soy muy bueno y generoso...Para crear un clip de pelicula en Flash...

Pulsa Ctrl + F8 y te aparecera nuestro querido amigo el menu de crear

 

Ese elemento puede tener la forma color y aspecto que tu quieras, pero debe ser un clip de pelicula. por ejemplo un pequeño menu, que quedara como algo asi...

Ahora te voy a repetir algo que quiero que te quede bien claro y asi lo entenderas mejor. Y es la diferencia entre instancia y objeto. Mientras estas creando este menu trabajas con el objeto, y mientras que lo estas colocando todo en el escenario principal estas trabajando con su instancia. Te repito esto, porque si te compras algun libro, te volveran loco hablando de instancias y objetos, y normalmente no viene muy bien explicado.

Una vez tenemos nuestro clip de pelicula llamado "menu" tendremos que empezar a trabajar para que se mueva cuando hagamos click sobre el.

Para lo cual tendremos que hacer que se ejecute una accion del clip de pelicula. Esto se refleja en el codigo de ActionScript asi:

OnClipEvent (onMouseDown) { .....}

Esto significa que cuando el clip de pelicula registra una presion sobre el mismo entonces entra en las ordenes que se le introducen enlos corchetes. Entre los corchetes escribiremos unas serie de condiciones que nos ayudaran a realizar nuestros objetivos.

Una vez haya Flash leido que cuando haya una pulsacion del raton, entre en los corchetes entonces entramos en el contenido de los mismos....

Para empezar....

OnClipEvent (onMouseDown) {

if ( this.hitTest ( _root._xmouse, _root._ymouse, true)) {

this.startDrag ();

}}

onClipEvent (onMouseUp) {

this.stopDrag ();

}

Ahora es cuando te explicare para que sirve cada una de las lineas de codigo:

La primera esta mas o menos clara porque ya te la explique antes, sigamos con las posterirores....

If se trata de un operador, como todos sabreis por las clases de ingles del cole es un si condicional, es decir expresa una condicion que tiene que cumplirse. Si esa condicion se cumple entrara en la zona de los corchetes, donde se encontrara con lo siguiente.

if ( this.hitTest ( _root._xmouse, _root._ymouse, true))

this.hitTest: es un metodo que se aplica a los clips de peliculas. En este caso a "this" que es el clip de pelicula actual (esto esta basado en JAVA). Lo que hace hitTest es decirnos si algo se superopone al clip de pelicula que le estamos diciendo. Es decir en este caso su funcion sera la de decirnos si cuando el raton se ha presionado estaba o no sobre nuestro clip de pelicula. Y al ver si el raton estaba o no sobre el clip, nos dara un valor de respuesta de true (verdadero) o false (mentirijilla).

Lo que esta entre los parentesis son una serie de parametros que el programa necesita para saber donde esta el raton en la pelicula que se esta ejecutando. En este caso...

_root._xmouse: es una propiedad del raton y lo que hace es decir la situacion del raton en la pelicula respecto a las coordenadas x.

_root._ymouse: es una propiedad del raton y lo que hace es decir la situacion del raton en la pelicula respecto a las coordenadas y.

true: se trata de un valor booleano (esto que te puede sonar a chino) signifgica solo que el valor puede tomar los valores de false o true nada mas.... en este caso true significa que estamos refiriendonos a la instancia mientras que flase indica que nos referimos a la caja que contiene a la instancia.

Es decir que en resumidas cuentas esta linea lo que hace es responderle al If con un verdadero o falso, de tal manera que el if ejecute o no sus ordenes, que son las que estand dentro de los corchetes.

 

Una vez que Flash a verificado que es veradero o falso la condicion que dice el hitTest, entonces se pasa a la orden en este caso dada por if y esa orden es.....

this.startDrag (); : es una accion que esta aplicada al clip de pelicula actual que es lo que indica el this. Eso lo que hace es que inicia el moviento de nuestro menu mientras que el raton este pulsado.

 

En el caso de que el raton se deje de pulsar, Flash pasara a la siguiente linea que es de esta forma:

onClipEvent (mouseUp) {

Esto lo indica a flash que en el caso de que el raton deje de ser pulsado se inicie la secuencia de ordenes que tiene entre los corchetes. Aqui es bien sencilla se trata solo de esta orden.

this.stopDrag ();

Esto le indica a flash que deje de arrastrar el clip actual de pelicula.

 

Con lo que si has seguido mas o menos los pasos y no te has equivocado en nada, todo tenria que funcionar. Aqui debajo te pongo el codigo de ActionScript que ejecuta todo esto que hemos visto....

onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
this.startDrag();
}
}
onClipEvent (mouseUp) {
this.stopDrag();
}

Espero que este tutorial te haya servido de algo. Y que sigas visitando nuestra pagina para aprender mas con nosotros.....

Y si quieres y te apetece porque no haces tu un tutorial..... Nosotros te lo publicampos gustosamente.......

 

Sponsors



 
 
Colaboran

 

Powdered by The 3DG CO.

sugerencias+quienes somos+contacta con nosotros