Desde que salió Flash CS y ActionScript 3.0 que han habido numerosas quejas de gente que opina que Actionscript 3 es muy diferente a Actionscript 2 y que no entiende por que Adobe ha realizado este cambio tan brusco que se está dejando fuera (según ellos) a mucha gente.
Se han oido muchas opiniones de gente que dice que continuará trabajando en Actionscript 2 por que ven muy complejo Actionscript 3. Freddie hace poco escribió un articulo sobre esta cuestión. Sobre que Actionscript 2 aún tiene mercado y que no es necesario el cambio a Actionscript 3. Es cierto que aun hay tiempo para hacer esta transición pero la pregunta es:
¿Realmente la transición se está haciendo de Actionscript 2 a Actionscript 3? o en realidad se está pretendiendo hacer de Actionscript 1 a Actionscript 3.
El problema es que NO se sabe programar correctamente Actionscript 2. Mucha gente cree saber programar en Actionscript 2 únicamente por utilizar MovieClipLoader o cualquier otra clase introducida para FlashPlayer 7, o simplemente por utilizar Flash 8 y seleccionar "Publicar para Actionscript 2.0" al crear la película. Pero en realidad siguen programando al estilo Actionscript 1.
Actionscript 2.0 lo introdujo Flash Mx 2004 hace más de tres años. Freddie escribió un tutorial mostrando las novedades que traía. Si nos fijamos en la última veremos que dice que Actionscript 2.0 introduce la programación orientada a objetos, y ese es el punto clave.
Flash Mx 2004 y Flash 8 permitieron combinar código de Actionscript 1 junto a código de Actionscript 2 haciendo que fuese más leve el paso de un lenguaje a otro. Permitiendo que gente que no quisiese aprender a programar orientado a objetos pudiese seguir programar como antes aprovechando las funciones que traía la versión 2. Pero esto a llevado al error de mucha gente que cree saber programar en Actionscript 2 cuando no es cierto, o por lo menos no saben hacerlo correctamente.
Hace unos días penHolder escribió un Tip y me pidió mi opinión. Le dije de debía escribirlo con programación orientada a objetos.
Antes de seguir he de decir que NO estoy criticando a penHoder ni diciendo que sea mal programador, su código es correcto y funciona perfectamente, pero es el último tip de AS2 y es un ejemplo que muestra claramente a lo que me refiero (sorry penHolder)
El ejemplo al que me refiero es este, y el código que utiliza es este:
Código :
this.createEmptyMovieClip("botonera", this.getNextHighestDepth()); var labels:Array = Array("home", "about", "services", "contact"); with (botonera) { this._x = 50; for (i = 1; i <= labels.length; i++) { var modelButton:MovieClip = this.attachMovie("boton", "boton" + i, this.getNextHighestDepth()); modelButton._x = 0; modelButton._y = ((i * 0) + this._height) + 5; modelButton.t.text = labels[i - 1]; modelButton.onEnterFrame = function() { this._alpha += (this.a - this._alpha) / this.v; if (this.hitTest(_root._xmouse, _root._ymouse, true)) { this.a = 50; this.v = 5; } else { this.a = 100; this.v = 10; } }; modelButton.onMouseDown = function() { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { if (this._name == "boton1") { trace("welcome home"); } if (this._name == "boton2") { trace("about us"); } if (this._name == "boton3") { trace("our services"); } if (this._name == "boton4") { trace("contact us"); } } }; } }
Creado en Flash 8 y publicado para Actionscript 2, siendo este el resultado:
Ejemplo publicado para AS2
El ejemplo funciona perfectamente, Pero ¿Realmente esto es un ejemplo de código creado para Actionscript 2?
Hagamos una prueba:
Eliminemos del código la asignación de tipo de las variables. Osea donde pone var labels:Array dejaremos var labels y donde pone var modelButton:MovieClip dejaremos var modelButton, quedando así el código:
Código :
this.createEmptyMovieClip("botonera", this.getNextHighestDepth()); var labels = Array("home", "about", "services", "contact"); with (botonera) { this._x = 50; for (i = 1; i <= labels.length; i++) { var modelButton = this.attachMovie("boton", "boton" + i, this.getNextHighestDepth()); modelButton._x = 0; modelButton._y = ((i * 0) + this._height) + 5; modelButton.t.text = labels[i - 1]; modelButton.onEnterFrame = function() { this._alpha += (this.a - this._alpha) / this.v; if (this.hitTest(_root._xmouse, _root._ymouse, true)) { this.a = 50; this.v = 5; } else { this.a = 100; this.v = 10; } }; modelButton.onMouseDown = function() { if (this.hitTest(_root._xmouse, _root._ymouse, true)) { if (this._name == "boton1") { trace("welcome home"); } if (this._name == "boton2") { trace("about us"); } if (this._name == "boton3") { trace("our services"); } if (this._name == "boton4") { trace("contact us"); } } }; } }
En opciones de publicación seleccionemos FlashPlayer 7 y Actionscrip 1.
Comprobemos el resultado:
Ejemplo publicado para AS1
Vayamos más lejos. Eliminemos el método getNextHighestDepth() y dejemos un valor fijo, por ejemplo 1. Ahora publiquemos la pelicula para FlashPlayer 6:
Ejemplo publicado para AS1 y FlashPlayer 6 desde Flash MX
Nota: Para esta última publicación he utilizado Macromedia Flash MX. Versión de Flash que salió al mercado a principios del 2002, más de un año y medio antes de que apareciese Actionscript 2...
Cómo vemos el resultado es el mismo. Es decir, este ejemplo es 99.8% código Actionscript 1.
Entonces... ¿Podemos considerar el código como Actionscript 2 únicamente por añadir el tipo de datos a dos Arrays? Evidentemente NO. Podremos utilizar una o varias funciones propias de Actionscript 2 pero seguiremos programando en Actionscript 1.
Cómo he dicho antes Actionscript 2 introduce la programación orientada a objetos y esa es la única manera de programar correctamente Actionscript 2.
Veamos el ejemplo escrito con programación orientada a objetos
Tampoco me voy a extender mucho en explicar este código, solo diré que utilizaremos dos objetos, uno que será la botonera que a su vez creará los objetos de los botones necesarios. Así que tendremos dos clases: Botonera.as
Código :
class Botonera { private var _ruta:MovieClip; private var _clip:MovieClip; private var _vinculo:String; private var _botones:Array = new Array(); private var _labels:Array = new Array(); private var _acciones:Function; private var _x:Number; private var _y:Number; private var _distanciaY:Number; public function Botonera(ruta:MovieClip, vinculo:String, labels:Array, acciones:Function, x:Number, y:Number, distanciaY:Number) { _x = x; _y = y; _distanciaY = distanciaY; _ruta = ruta; _vinculo = vinculo; _labels = labels; _acciones = acciones; creaBotonera(); } private function creaBotonera() { _clip = _ruta.createEmptyMovieClip("botonera", _ruta.getNextHighestDepth()); _clip._x = _x; _clip._y = _y; var total = _labels.length; for (var i:Number = 1; i <= total; i++) { creaBoton(_labels[i - 1],i); } } private function creaBoton(label:String, id:Number):Void { var boton:Boton = new Boton(_clip, _vinculo, label, _acciones, _distanciaY, id); _botones.push(boton); } }
Boton.as
Código :
import mx.transitions.Tween; import mx.transitions.easing.*; import mx.utils.Delegate; // class Boton { private var _ruta:MovieClip; private var _clip:MovieClip; private var _vinculo:String; private var _label:String; private var _accion:Function; private var _distanciaY:Number; private var _id:Number;
var labels:Array = new Array("home", "about", "services", "contact"); var botonera:Botonera = new Botonera(this, "Boton", labels, acciones, 50, 20, 5);
function acciones(boton) { if (boton == 1) { trace("welcome home"); } if (boton == 2) { trace("about us"); } if (boton == 3) { trace("our services"); } if (boton == 4) { trace("contact us"); } }
Resultado:
AS2 con POO
Evidentemente este código ahora es imposible publicarlo desde Actionscript 1, es un código orientado a objetos con lo que es un código 100% Actionscript 2.
Ahora pasemos el ejemplo a Actionscript 3
Seguiremos teniendo dos objetos, botonera y botón.
Botonera.as
Código :
package { import flash.display.Sprite; import flash.utils.getDefinitionByName; // public class Botonera extends Sprite { private var _ruta:Sprite; private var _clip:Sprite; private var _vinculo:String; private var _botones:Array = new Array(); private var _labels:Array = new Array(); private var _acciones:Function; private var _x:Number; private var _y:Number; private var _distanciaY:Number; public function Botonera(ruta:Sprite, vinculo:String, labels:Array, acciones:Function, x:Number, y:Number, distanciaY:Number) { _x = x; _y = y; _distanciaY = distanciaY; _ruta = ruta; _vinculo = vinculo; _labels = labels; _acciones = acciones; creaBotonera(); } private function creaBotonera():void { _clip = new Sprite(); _clip.x = _x; _clip.y = _y; var total:uint = _labels.length; for (var i:uint = 1; i <= total; i++) { creaBoton(_labels[i - 1],i); } addChild(_clip); } private function creaBoton(label:String, id:Number):void { var ClassReference:Class = getDefinitionByName(_vinculo) as Class; var boton:Sprite = new ClassReference(_clip, label, _acciones, _distanciaY, id) as Sprite _clip.addChild(boton); } } }
Boton.as
Código :
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; import fl.transitions.*; import fl.transitions.easing.*; // public class Boton extends Sprite { private var _ruta:Sprite; private var _clip:Sprite; private var _label:String; private var _accion:Function; private var _distanciaY:uint; private var _id:uint; public function Boton(ruta:Sprite, label:String, accion:Function, distanciaY:uint, id:uint) { _ruta = ruta; _label = label; _accion = accion; _distanciaY = distanciaY; _id = id; creaBoton(); } private function creaBoton() { var texto = getChildByName("t"); texto.text = _label; x = 0; y = (_id - 1) * (height + _distanciaY); addEventListener(MouseEvent.MOUSE_DOWN, mouse_down); addEventListener(MouseEvent.ROLL_OVER, mouse_over); addEventListener(MouseEvent.ROLL_OUT, mouse_out); } private function mouse_down(e:MouseEvent):void { _accion(this._id); } private function mouse_over(e:MouseEvent):void { var alfa:Tween = new Tween(this, "alpha", Regular.easeIn, 1, 0.5, 5, false); } private function mouse_out(e:MouseEvent):void { var alfa:Tween = new Tween(this, "alpha", Regular.easeIn, 0.5, 1, 5, false); } } }
Y en el .fla:
Código :
var labels:Array = new Array("home", "about", "services", "contact"); var botonera:Botonera = new Botonera(this, "Boton", labels, acciones, 50, 20, 5); addChild(botonera);
function acciones(boton) { if (boton == 1) { trace("welcome home"); } if (boton == 2) { trace("about us"); } if (boton == 3) { trace("our services"); } if (boton == 4) { trace("contact us"); } }
Ejemplo en Actionscript 3
Evidentemente Actionscript 3 introduce cambios respecto a Actionscript 2, elimina funciones e introduce otras. No utilizaremos attachMovie utilizaremos addChild, no utilizaremos métodos en clip, utilizaremos listeners. etc... Pero los cambios son MÍNIMOS. La base sigue siendo la misma, una programación orientada a objetos.
Conclusión:
Únicamente comparen los códigos... ¿Realmente creemos que ha cambiado tanto Actionscript 3 respecto a Actionscript 2? o es que en realidad no sabemos programar bien Actionscript 2 y aun estamos con Actionscript 1...
[...]en realidad no sabemos programar bien Actionscript 2 y aun estamos con Actionscript 1
I think too.
Lo peor es que empecé programando en el flash 8 el año pasado, así que ya empecé mal. Bueno, supongo que ahora tengo mas tiempo, pero realmente me da mucha pereza aprender todo esto de las clases.
Es triste pero cierto, al menos en mi caso, no sé programar y es lo que me parece atractivo de flash, me permite sin saber, crear pequeñas animaciones que sin ésos pedazos de código con todo y sus errores de programacion, funcionan. Eso es lo que realmente me atrae de Flash. Si me voy a tener que reventar un curso de programación (que no digo que no sea bueno) para poder usar actionscript 3, pues posiblemente lo haga, pero no será a corto plazo, será en cuanto tenga un poco de tiempo libre, mientras tanto, tendré que seguir usándo flash como dios me dé a entender Por:La100rra
Felicidades por el gran tip, esto es lo mejor que he visto en años, y creo q en ningún lado se hace una comparación como esta.
Personalmente, hace unos meses empece a crear clases pero a pesar de todo sigo usando el AS1 en algunas partes. Nada AS2 100%. Luego de ver tu tip AHORA SI! me doy cuenta de mis fallas.
Buen tip, pero no queda igual. Digo, toy viendolo en FF con el plugin Shockwave Flash 9.0 r47 y el efecto de alpha en AS1 muestra un degradado y un paso mas suavizado. En tus ejemplos sale de golpe, no se nota el ambio de alpha. Por el resto, se entiende la logico y el porque AS3 es mejor (y porque no soy programador) Por:xflash
Es la mejor explicación que he visto sobre el hecho de que no (algunos) programamos correctamente en AS2 (problemas de venir de VB6 ). Me quito el sombrero Zguilez. Por:The Fricky!
xflash :
Buen tip, pero no queda igual. Digo, toy viendolo en FF con el plugin Shockwave Flash 9.0 r47 y el efecto de alpha en AS1 muestra un degradado y un paso mas suavizado. En tus ejemplos sale de golpe, no se nota el ambio de alpha. Por el resto, se entiende la logico y el porque AS3 es mejor (y porque no soy programador)
Ese error del degradado es por que al ir creando las diferentes versiónes se me borró por error. No tiene nada que ver con el código. Todos los ejemplos vinculan el mismo MovieClip desde la biblioteca con lo que visualmente es exactamente lo mismo. Lo arreglé Por:Zguillez
en mi opinion si se cambio bastante del AS2 al AS3,y sobre las quejas, se deberian ignorar, regularmente son de diseñadores o contadores, abogados futbolistas etc.. que no saben programar o de programadores que tienen pereza de aprender. tu tip esta muy bueno por que se ve las diferencias que hay entre los tres AS1 ,2 y 3, pero deberias poner mas tips de los que acostumbras ya los tengo como libros y no hacer caso a las quejas de los futbolistas Por:BLOG_blog
Debo admitir que el AS3 es un paso que todos ya deberian dar... Y queda bastante claro que el cambio de AS2 a AS3 no es tan drastico, como creia aun algunos creen... Es muy claro el caso que presentas Zguilles...
En mi caso como "Diseñador En Artes Graficas" jamas usaré codigo, pero aun asi uso flash para vectorizar (se que es una mala practica) pero aun asi, en mis tiempos de estudiante era facil programar AS 2, tal vez por que los maestros en realidad enseñaban como programar AS 1, con formato AS 2, eso es lo que yo digo. Por:Victor-Nael
Felicitaciones, es el mejor artículo sobre el tema que leí (y no han sido pocos).
Como siempre, excelente. Por:HernanRivas (logout)_blog
Yo no tengo ningún incoveniente con las variaciones del lenguaje (al contrario me parece bacán). Sólo que... porqué me pide como mínimo 1gb de RAM? Tengo que armarme una nueva compu ya que mi placa madre es del 2003 y está desfazada
Justo que me iba a meter a un curso de AS3 y con Cristalab complementaba.. bue asi es la vida que se le va a hacer Por:enjoydasilence_blog
Reir para no llorar
PD: BuenasoO el Post . Por:enjoydasilence_blog
Estoy de acuerdo en un 50%, por que? Si es cierto que no programamos en POO por que la creación de mas de dos clases, a lenta muchísimo la exportación y prueba de las peliculas flash cuando simplemente estas definiendo unos cuantos eventos. Entonces si es poco o simple lo que vas a hacer que versión utilizarías? AS1 o AS2 o AS3 Ahora si vemos el código de AS1 es mucho mas corto que el de AS2 o AS3, la pregunta no es que es mas óptimo (por que a lenta a flash) si no como lo quieres hacer?, tienes paquetes y/o clases ya listos?, vas a volver a utilizar estas clases? o es algo rápido que tienes que hacer? Por:Quien yo?_blog
@enjoydasilence: en Jr. Paruro encuentras hastas RAM DIMM
@Quien yo?: la idea con la POO es que desarrolles clases extendibles, de esta forma se podrán extender en otras clases según tus requerimientos (estilos, nuevas funciones, etc). Así no tendrás q reinventar la rueda en cada desarrollo. Por:Otaku RzO
Voy a exponer una opinion que va a generar polemica... En mi opinion, el tema de montar todo en clases esta confundiendo bastante a la gente. Parece que es la panacea de la historia en programacion, y yo pienso que programar al 100% en clases provoca en la mayoria de casos tiempos mayores de desarrollo. Claro está, que depende del tipo de aplicación, cosa que nunca se aclara en ningún artículo sobre POO en Flash. Si voy a programar un interactivo altamente creativo, y "distinto" en la maroría de apartados, ponte tu a programar en clases si tienes una fecha de entrega muy reducida, veras que bien lo pasas... Vamos, que ni uno ni otro, cada cosa es más óptima para un tipo de aplicación. Por:Phasor_blog
Que tal chicos/as primero que nada excelente artículo Z, pero también estoy de acuerdo con Phasor y Quien Yo?, hay veces que uno necesita optimizar lo más posible, y quizas ciertas "aplicaciones " en flash son muy simples o rápidas de hacer como para tener que armar una clase y más aún si son únicas. Yo en AS2.0 veo que no se nada jajaja, como dice Z me hago cargo, yo hago las cosas asi! Pero también creo que es muy necesario saber AS3.0 sobre todo para usar Flex y Flash CS3 y aprovecharlos en su máximo. Pero antes que hacer un curso o comprarme un libro de AS3, voy a hacer un buen curso de POO, creo que es fundamental, si bien entiendo bastante, todavía no me cierra el beneficio de usar clases y con un buen curso creo que abrería mis ojos. Y despues de eso, me parece que estaría más que listo para aprender AS3 sólo, como muchos lo hicieron en AS1. Saludos! Por:Raxiro_blog
Es muy cierto lo rápido q es desarrollar en AS1, pero esto no siempre sera así. Los que se resistan al cambio se quedarán fuera. Lo que dijo Raxiro en la última parte es un buen consejo para todos nosotros. ( solo programadores ).
Pero a todo esto, un detalle con respecto al peso de los archivos en los ejemplos:
Código :
2.33kb => Ejemplo publicado para AS2 2.33kb => Ejemplo publicado para AS1 659 bytes => Ejemplo publicado para AS1 y FlashPlayer 6 desde Flash MX 5.03kb => AS2 con POO 5.21kb => Ejemplo en Actionscript 3
que buen articulo, n0o lo había visto de esa manera pero tienes toda la razon. Por:jose bernal_blog
Zguillez entiendo la idea del artículo, me parece muy bueno y estoy de acuerdo con la idea pero no estoy de acuerdo con que la programación sin OOP no es AS2.
No creo que la programación que no sea OOP no tenga valor como código AS2, AS2 introdujo la OOP en flash pero no es simplemente que si no programas en OOP es AS1, de hecho en tu ejemplo la parte del fla no es código de ninguna clase.
De todas maneras creo que el cambio de AS2 a AS3 es como una profesionalización del lenguaje lo cual es muy bueno en vistas a futuro. Como ya dijeron los que quedarán afuera son diseñadores o gente que no quiera aprender a programar Por:gparis_blog
Yo la única diferencia que veo es que en AS3 tengo que escribir muchas lineas de código mas,... Por:Mario_blog
Otaku RzO: Ok. GRACIAS!! (sólo espero encontrar DRR 266 que es la única que soporta pero me devolviste la esperanza )
Mario: Y cúal hay?
//Dicen que en JavaFX tiene menos código que él Java Swing. Y JFX es más rapido o sea menos código y más rapido? [no confundan, yo prefiero mil veces flash, sólo es una comparación de código] Por:Javier_blog
Yo digo por lo del Cumplimiento estricto de ECMAScript.
Se entiende lo que quiero decir? Por:
La ventaja que presentaba Flash era básicamente la facilidad con que los diseñadores podían generar algo de código. Últimamente he visto algunos sitios que parecen flash, pero hechos sin flash. Si ahora es un lenguaje formalmente igual a los otros,y que nos exige especializarnos en la programación ¿sería bueno explorar otras alternativas como Java o sus derivados? Por:Eleuterio_blog
soyelejemplo de lo q no se deberia hacer, gracias Zguillez, realmente gracias Por:penHolder (logout)_blog
Excelente nota Zguillez... muy buena. . Por:glsmaster_blog
Eleuterio_blog :
La ventaja que presentaba Flash era básicamente la facilidad con que los diseñadores podían generar algo de código.
Te equivocas Eleuterio_blog, esa era la ventaja para no-programadores. Flash ha evolucionado mucho desde sus inicioa. En buena parte, obligado por las nuevas exigencias de la tecnología y el mercado.
Eleuterio_blog :
Últimamente he visto algunos sitios que parecen flash, pero hechos sin flash. Si ahora es un lenguaje formalmente igual a los otros,y que nos exige especializarnos en la programación ¿sería bueno explorar otras alternativas como Java o sus derivados?
Siempre puedes hacer cosas simples con frameworks, si tu fuerte no es la programación, también puedes seguir sub-utilizando AS2 para cosas simples. Cuando la gente se plantea que Flash está complicándose, que va a perder mercado, etc. normalmente lo hace con una visión de inmediatez, un poco cerrada creo. Flash es una herramienta que no se queda simplemente en hacer banners y cositas pequeñas, hoy día vemos aplicaciones Flash en nuestros celulares, en pantallas táctiles, en juegos,en presentaciones multimedia... y ésto seguirá expandiéndose, no sólo por que sea "atractivo" por las animaciones sino por la robustez de su lenguaje de programación. No se trata de si es más corto o más rápido de programar. Claro que al principio tardarás un poco más en escribir tus clases ¿pero alguien se ha dado cuenta que después de tener tres o cuatro clases generales (por ejemplo, una para precarga, una para envío de datos, etc.) sólo tienes que usar un import y ahorrarte muchas líneas de código? Una de las grandes ventajas de la POO es la posibilidad de reutilizar el código, lo que todo programador agradece. El mercado tecnológico es de los que no tienen miedo de aprender algo nuevo, de los que no se conforman. Por:The Fricky!
Sigo sin estar de acuerdo... Reutilizacion?. Siempre estamos con lo mismo. Las funciones tambien son reutilizables si estan bien programadas. La programacion procedural tambien es perfectamente reutilizable si esta bien programada. Que no me venga nadie con el cuento "comercial" de que es mejor clases para todo. Soy programador de la vieja guardia, tengo mis clases para ciertas cosas, tengo funciones reutilizables para otras, pero hay mil metodos para desarrollar cosas de forma conveniente. Creo que las clases se usan cada vez mas, no porque sean mejores ni peores, sino porque es lo que se usa en cualquier lenguaje "habitual" hoy en dia, y es lo que aprende la gente que sale de carrera. Cosas complejas? que son cosas complejas?. Yo he desarrollado mis aplicaciones con interface flash de diferentes maneras y no es necesario montar una aplicacion con una compleja estructura de clases para ello. Lo que pasa que las clases venden y la POO vende sobre todo fuera del mercado habitual de flash, que es multimedia. Por:Phasor_blog
Excelente Articulo Z, mis respetos. Por:flashreloco
¡¡¡Genial post!!! Me he permitido referenciarte en mi nuevo blog <a href="http://www.disenadorwebsevilla.com/" target="_blank">www.disenadorwebsevilla.com</a> Por:Marcos García_blog
Son demasiados cambios, por un lado tenemos que olvidarnos de Free Hand y comenzar a trabajar con ilustrator, y por el otro AS3. Por:Eleuterio_blog
Comencé a ver POO y entendí bastante los "ejemplos" como para saber a que se refiere, pero luego me cuesta relacionar la idea de lo que debe aparecer en pantalla con el código para la POO, por eso termino usando AS2 al estilo AS1. Me he dado cuenta, antes de este tip, que las cosas funcionan igual pero la programación no es nada "elegante". A mi atribulado cerebro la falta un golpe de horno para poder relacionar la POO con el proyecto a realizar. .... Algún día Gracias Zguillez Por:Nito
Se van a dejar de quejar cuando se den cuenta que AS evoluciona constantemente para ser un lenguaje de programación mas serio. Recuerdo tiempo atrás cuando programadores en serio veían el AS y se me mataban de risa cuando alguien insinuaba que era un lenguaje de programación. Los diseñadores se tendrán que acostumbrar que diseñar con Flash va a ser como realizar paginas dinámicas con otros lenguajes, en los cuales tenían que recurrir a un programador para que las hiciera funcionar.
AL menos esta es mi humilde visión del tema. Por:crimson14
Algo que no comente, es que me parece barbara la evolución de ActionScript, me acuerdo cuando ActionScript era sólo usar un stop(), un gotoAndPlay() y si seguiamos en eso no podríamos haber hecho tantas cosas con flash.. Algo que quizás les duela a muchos, pero es asi: Diseñador -> diseña, Programador -> programa, he visto miles de "aplicaciones flash" que piden usuario y contraseña, decompilas el swf y ves todos los users y pwds, y lo mismo pasa con Php, cuando alguien piensa que saber programar y no es asi, por ahorrarse unos $$$ puede perder mucho mas... Saludos!. Por:Raxiro_blog
Mamá, Zguishes me golpeó la nariz con su artículo
Excelente artículo Z, muy ilustrativo, es lo mejor que he leído hasta ahora respecto a ese tema. Te felicito Por:XKlibur
Me parecio muy bueno su articulo, desgraciadamente la web esta infectada de malos ejemplos con muy malas practicas de programacion. Programo en otros lenguajes y me parece muy bien que se le de un enfoque de POO a actionscript, desgraciadamente la ayuda de flash professional 8 no es muy abundante y clara en el tema de programacion con AS incluso sus ejemplos no usan clases simplemente "tiran" el codigo y ya...Me gustaria que me recomendara bibliografia seria sobre la POO en AS 2 y de ese modo prepararme mejor al cambio hacia AS 3 Por:Alstrax_blog
En lo que disiento es que programar para AS2 sin OOP no es programar mal AS2, es no saber explotar esa posibilidad. si AS2 permite que no programemos con Objetos, entonces esta bien no hacerlo, no esta mal.
(de acuerdo con el cambio a AS3, y muy bueno el tip) Por:nico_blog
Lo que ocurre, nico_blog, es que debes recordar que AS2 es -por decirlo así- una versión "intermedia", "puente" entre AS1 y AS3. Es cierto que permitía muchas cosas de AS1 por cuestiones de compatibilidad (he visto "código en AS2" utilizando cosas como "tellTarget", "ifFrameLoaded" o "add" en vez de "+" cuando la propia documentación de AS2 las coloca como desfasadas y desaconsejan su uso). Una cosa es que permita la programación en AS1 por compatibilidad y para no dar el gran salto al AS3 y otra que su uso sea correcto. Por:The Fricky!
Alstrax_blog :
Me parecio muy bueno su articulo, desgraciadamente la web esta infectada de malos ejemplos con muy malas practicas de programacion. Programo en otros lenguajes y me parece muy bien que se le de un enfoque de POO a actionscript, desgraciadamente la ayuda de flash professional 8 no es muy abundante y clara en el tema de programacion con AS incluso sus ejemplos no usan clases simplemente "tiran" el codigo y ya...Me gustaria que me recomendara bibliografia seria sobre la POO en AS 2 y de ese modo prepararme mejor al cambio hacia AS 3
hola Alstrax:
Gente como tu ABUNDA en internet, gente q sabe criticar, quejarse, decir lo malo, etc.
Si sabes programar "en otros lenguajes" y has visto ejemplos o post con errores... QUE ESPERAR PARA APORTAR!!!!!!! y demostrar tus "amplios" conocimientos me revienta leer post de esta naturaleza, llena de ENVIDIA y ODIO. todos de cierta forma aprendemos en internet y tenemos que ser humildes y devolver la enseñanza, no solo haciendo post, ejemplo o tutoriales, sino corrigiendo los errores de otros (con toda la buena fe posible)
No permitamos influenciarnos por mensajes como el de Alstrax, demostremos el nivel profesional existente en clab, no sabe mas el critica mas, sino el q aporta.
ough, creo que eldervaz se enfadoooooo Por:Señor Oz_blog
ya que estamos en esas, y para comenzar nosotros los novatos a iniciarnos de una vez por todas con actionscript 3, no podria alguien poner el todo el codigo pero comentado, es decir, entiendo muchas cosas, pero hay unas que aun se escapan de mi entendimiento, y no me gustaria quedarme fuera de esto, y pues si no es mucho pedir, me gustaria el ejemplo completo para que de una vez por todas aparezcan esos botones en mi .swf, ya he estado intentando y solucionado los posibles errores pero nada mas no me quedan, quisiera poder terminarlos, gracias de antemano. Por:Señor Oz_blog
jejejeje, ya, ya lo solucione, solo que se me enciman los botones, tendre que acomodarlos, de todos modos, sigo pidiendo el codigo comentado, gracias. Por:Señor Oz_blog
hola a todos... el articulo es bueno porque descubre uno de los aspectos que, creo yo, adobe quiere dejar claro con la separacion clara entre plataforma de diseño y programacion en flash. Hay un mal "habito" que han dejado las versiones anteriores de flash; el que los diseñadores graficos y visuales acabemos creyendonos programadores de sistemas. los oficios son totalmente diferentes metodologicamente hablando; cuando se desarrolla un software, este tiene que pasar por un proceso de modelacion y abstraccion que proviene de la logica y la algoritmia; la programacion orientada a objetos es un amanera de modelar el mundo cercana en algunos aspectos a como lo percibimos, pero con todas las limitaciones que cualquier lenguaje de programacion y la misma maquina tiene, la interpretacion numerica. por otro lado la abstraccion que hacemos desde el diseño grafico tiene que ver mucho mas con las cosas tangibles y las relaciones emocionales y comunicativas que tenemos con ellas, junto al sentido comun y la vivencia cotidiana con las mismas. cuando un diseñador grafico viene a enfrentarse a un lenguaje de programacion como actionscript tiene que saber como se abstrae en el, y desde el, y para ello tiene que saber como funciona el metodo de la orientacion a objetos; por hacer un preloader, una galeria de fotos o una bonita botonera en 3d no somos programadores; en muchos casos somos ejecutores de codigo y experimentadores (de recordar que muchos de nosotros acostumbramos copiar y pegar codigo y armar a punta de "parches" cualquier interactivo urgente). Creo sinceramente que hoy en dia una agencia de diseño multimedial debe contar con un programador en sus filas, pero un profesional en programacion orientada a objetos no un diseñador /programador. para mi especializacion en Diseño de multimedia, mi tesis intenta dilucidar que es lo que pasa con este problema, y como se puede tratar de enseñar programacion orientada a objetos a diseñadores graficos. si alguien esta interesado en conocerla y conocer mis ideas bien puedo enviarles una copia.
saludos...
Dick martinez desde Colombia Por:Dick_blog
Claramente han dado con un punto super importante, que yo al estar ahora alejado de flash no había reparado. Pues bien, hay que APRENDER AC3 y nada más que decir Por:Rodrigo_blog
Dick, que me dices del especialista profundo en todo, que le gana a los especialistas en un campo?
Un erudito n_n,tal vez tiene el don de usar su mente al 100% a comparación de nosotros que usamos el 10% de esta Por:|
Buen articulo. Yo no soy programador y lo poquito que se lo aprendi viendo y probando. Para personas como yo, el codigo de AS3 y AS2 son mucho mas dificiles que el primero, y se llega al mismo resultado y el archivo pesa menos en el primer caso. Supongo que con AS1 no tenemos todas las posibilidades que tenemos con AS2 Y AS3, pero a mi me alcanza. A los otros los veo como monstruos inentendibles. Por:pabletein_blog
Me parece que el 90% de la gente esta equivocada. Es muy simple: ActionScript 3, se basa en la estructura del lenjuaje java. Ese es el cambio fundamental que hace adobe y la verdad que hay que pararse y aplaudirlos. Optimizaron, agilizaron, limpiaron y mejoraron los metodos y proceso de AS. Es esto un pecado?
Por otro lado, para todo aquel que utiliza AS1 o 2 y no le gusta AS3, para que lo usa?!! es decir, si yo no se jugar futbol, no me voy a comprar botines, y MUCHO MENOS QUEJARME DE SU USABILIDAD!!
Las criticas son absurdas y carecen de fundamentos. Simplemente porque adobe permite crear documentos en AS3, o AS2, uno peude elegir el player con el cual exportar, y por sobre todas las cosas: Flash Player soporta todas las versiones anteriores.
Usas AS1 y no queres cambiar? y bueno, no cambies, adobe te brinda todo para ue sigas de la misma manera.
El articulo esta excelente, y ya lo estoy reenviando a los diseñadores seudo programadores Disculpen si suena agresivo el comentario, pero me INDIGNA algunos comentarios.
Saludos. Por:rOY!!!_blog
rOY!!!_blog :
Me parece que el 90% de la gente esta equivocada. Es muy simple: ActionScript 3, se basa en la estructura del lenjuaje java. Ese es el cambio fundamental que hace adobe y la verdad que hay que pararse y aplaudirlos. Optimizaron, agilizaron, limpiaron y mejoraron los metodos y proceso de AS. Es esto un pecado?
El problema es que la mayoría de ese 90% jamas ha visto Java en su vida , por eso los demás vemos "normal" al AS3.
Creo que este ha sido el mejor Tip que he visto jamas
Saludos! Por:master_of_puppetz
Zguillez te felicito por la labor de síntesis y por tu disposición por ayudar a la comunidad de diseñadores.
Creo que como en todas las cosas, aprender algo nuevo es difícil. Como diseñador gráfico es difícil aprender AS3 utilizando POO, sobre todo si tienes plazos de entrega. Pero fue igual de difícil aprender a usar la herramienta bezier de manera profesional(trazar correctamente en bezier tiene su ciencia), y era igual de necesario. Por:Pablo Mercado_blog
Realmente AS (ya en parte el 2 y completamente el 3) está basado en el estándar ECMAScript que, si bien es cierto, es influído por Javascript (fue creado para estandarizar Javascript y eliminar las incompatibilidades entre la versión de Netscape y la de Microsoft), no es exclusivo de éste. Es por eso que se encuentran tantas similitudes en la sintaxis y el modo de trabajar la Programación Orientada a Objetos. Por:The Fricky!
Por cuestiones de mi trabajo (Que frecuentemente la hago de todólogo), he tenido que realizar algunas presentaciones en Flash. Y me he resistido a utilizar el asistente de código de flash, hasta ahora había aprendido lo básico de AS2 (sin bases teóricas), por lo que sabiendo casi nada de AS1 y AS2, el nuevo AS3 me cae de lujo, puedo aprenderlo desde cero sin tener conflictos de lógica de programación al estudiar, ¿tiempo?, lo hay, mientras los desarrolladores se nieguen a realizar el cambio, no hay prisa por aprender, y cuando lo haga, habrá oportunidades que los demás habrán perdido por ser renegados al cambio. Por:_Darel
Buen articulo ZGuillez
Yo recomiendo la lectura pausada de un buen libro de AS3 como si empezaramos de 0, aconsejo el de collin moock.. ... yo personalmente, durante mucho tiempo cai en el error de que aprendia a medida que resolvia los problemas que se me presentaban, y en ese proceso macabro me quedaban lagunas de conocmiento inmensos, recomiendo a los que se inician ,que lean un buen libro y que no aprendan al vuelo..
salu2 Por:Zandy
yo sinceramente recomendaría a los diseñadores que siguieran con AS2 (AS1). He conocido excelentes animadores que saben hacer scripts muy complejos y funcionales con AS2 pero que no se les facilita mucho la POO, más bien ellos programan con POF (Programación orientada a Fotogramas).
En cuanto al ejemplo, tal vez a simple vista se puede ver el peso y la cantidad de código, pero seamos honesto, no es lo mismo hacer una botonera con AS1, AS2 y AS3 que hacer un juego o incluso un Mundo virtual (Creeanme AS1 puede se un infierno para este tipo de cosas).
Me gustó lo de los futbolistas, yo creo que Adobe separó perfectamente el player para los programadores que a eso nos dedicamos, a programar; y para los diseñadores que seguiran haciendo sus scripts con AS2 y utilizando el CS3. Yo soy programador y les puedo decir que para hacer una aplicación con AS3 (no me gusta decir Flex porque el MXML es horroroso) no necesitas más que el eclipse y el plugin de Flex o el notepad y el sdk del player 9. Por:Quantium_blog
Quantium_blog :
yo sinceramente recomendaría a los diseñadores que siguieran con AS2 (AS1).
Yo sinceramente recomendaría a los diseñadores que se siguieran dedicando a diseñar...
Quantium_blog :
no me gusta decir Flex porque el MXML es horroroso
por que horroroso? , si tan solo es XML
Saludos! Por:master_of_puppetz
Zguillez
Hola man!!!, en mi opinión, mientras funcione, sea práctico, y realice a satisfación lo esperado esta bien.
Hay proyectos que no necesitan una programación tan "pulcra".
Esta bien tu tip, muy buen punto de vista Por:esutoraiki
eldervaz
Hola man!!!, no me parece tan grotezco el comentario de Alstrax, la verdad es simplemente un comentario.
No todo el mundo tiene el tiempo o le gusta realizar aportaciones. Eso no necesariamente es malo.
Ahora bien, a mi si me parece que cualquiera puede llegar a hacer una critica. Si uno no es capaz de recibir criticas y excudarse en frases como:
Gente como tu ABUNDA en internet, gente q sabe criticar, quejarse, decir lo malo. .... QUE ESPERAR PARA APORTAR!!!!!!! y demostrar tus "amplios" conocimientos
La verdad, a mi me gustan las criticas de las personas que saben y no saben, ya que me ayudan a encontrar errores. Por lo general los elogios no ayudan en nada.
También otra cosas que veo es que el comentario de Alstrax no es para nada ofencivo, es un simple comentario. En tu comentario, se ve realmente mucha agrecividad.
Este comentario no es para agredirte ni para convencerte de nada, simplemente es mi opinión sobre otro comentario Por:esutoraiki
Zguillez con toda razón entiendo tu artículo, y es de esperarse tanta conmoción, y muchos lo han dicho son diseñadores no programadores, aunque personalmente eso no los excusa de las quejas, y es cierto me he dado cuenta que su sintáxis es muy parecido al Java, me gustaria comentarles para los que no entienden de la POO es fundamental e importante segun el lenguaje ciertas características:
1) Reusabilidad 2) Herencia 3) Polimorfismo
Las cuales son las mas fundamentales de la POO (Programación Orientada a Objetos) debo aclararles que la POO no es para un lenguaje específico, sino que se le considera un Paradigma esta es la base y cualquier lenguaje sea Java, C#, VB, Actionscript, php,... etc. que sea orientado a objetos utiliza este Paradigma y una vez entendido esto el lenguaje es lo de menos, entiendo que la programación no se les de a muchos claro esta, pero es importante a mi juicio conocer (no culpo a nadie por no saber) antes de emitir un juicio de algo que no se conoce, creo que hay buen material en la red para leer y aprender un poco aunque sea de teoría y conocer sobre todo por el uso del AS que es lo que se critica aqui, entender el uso de MODIFICADORES (private, public)
entender que son: 1) Variables 2) Metodos y no funciones 3) Package e import
la verdad me arriesgaria un poco a que consigan información sobre Java ya que esta es un poco mas clara que cualquier otra sin duda yo tengo material si gustan yo se los puedo proporcionar.
Por ultimo entiendo que son solo opiniones, pero les invito solo por precaución personal y experiencia propia, mejor informarnos un poco acerca del tema para poder emitir un juicio bastante objetivo con respecto al tema, y si... se que la ayuda de un codigo no es muy grato pero es para eso aprender donde nos equivocarnos o darnos una guía, no para aplicar la ingeniería reversiva, que se la pasen chido todos, saludos. Por:CrASh__blog
esutoraiki :
eldervaz
Hola man!!!, no me parece tan grotezco el comentario de Alstrax, la verdad es simplemente un comentario.
No todo el mundo tiene el tiempo o le gusta realizar aportaciones. Eso no necesariamente es malo.
Ahora bien, a mi si me parece que cualquiera puede llegar a hacer una critica. Si uno no es capaz de recibir criticas y excudarse en frases como:
Gente como tu ABUNDA en internet, gente q sabe criticar, quejarse, decir lo malo. .... QUE ESPERAR PARA APORTAR!!!!!!! y demostrar tus "amplios" conocimientos
La verdad, a mi me gustan las criticas de las personas que saben y no saben, ya que me ayudan a encontrar errores. Por lo general los elogios no ayudan en nada.
También otra cosas que veo es que el comentario de Alstrax no es para nada ofencivo, es un simple comentario. En tu comentario, se ve realmente mucha agrecividad.
Este comentario no es para agredirte ni para convencerte de nada, simplemente es mi opinión sobre otro comentario
Hey... no me puse a leer el codigo para ver si habia diferencia, pero ALGUIEN NOTO LA VELOCIDAD DE PROCESAMIENTO DE LOS ULTIMOS 2 ? (as2 con poo y as3) NI se compara moviendo rapido el mouse por encima con los primeros... increible Por:Tomás Del Bianco_blog
la verdad no me quejo de ningun sistema, me acomodo a lo que llegue asi me mate la cabeza una seman para entenderlo, no hay otra manera ya no hay tiempo para aprender tantas cosas, yo no vivo del aire como algunos desocupados. y por cierto buena la aclaracion de los AS Por:para todos_blog
para todos_blog: Lástima por ti/vos. . Me parece que estás frustrado no le heches la culpa al dinero o tiempo (como yo que no conseguía la ram de 1gb para mi placa base pero ahora ya la tengo wiiI ) Por:ejejje_blog
Si dices para todos supongo que te has tomado un buen tiempo para leer los comentarios (incluyendo éste ). Bueno chaufa man!!! Por:ejeje_blog
YO PIENSO QUE ME GUSTA LO QUE DICES Por:FERNANDO CACHAGO_blog
si el actionscript llega a 10 lineas yo me lio Por:***_blog
Pues yo me quedo con el código de penHolder, me parece más sencillo y al alcance de muchos, no todos sabemos oop y por ende aplicarlo a cosas tan complicadas como una botonera... que, en cambio, en as1 (como tú lo llamas) son mucho más sencillas, y... mientras un código funcione y cumpla su cometido no me parece incorrecto y ni mucho menos tener que publicar una corrección.
PD: Y como sugerencia, la próxima vez invierte mejor tu tiempo e intenta explicar todo el royo de programación orientada a objetos en vez de... eso... corregir lo que está bien.
Nos vemos Por:infernalpr
infernalpr :
Pues yo me quedo con el código de penHolder, me parece más sencillo y al alcance de muchos, no todos sabemos oop y por ende aplicarlo a cosas tan complicadas como una botonera... que, en cambio, en as1 (como tú lo llamas) son mucho más sencillas, y... mientras un código funcione y cumpla su cometido no me parece incorrecto y ni mucho menos tener que publicar una corrección.
PD: Y como sugerencia, la próxima vez invierte mejor tu tiempo e intenta explicar todo el royo de programación orientada a objetos en vez de... eso... corregir lo que está bien.
Nos vemos
Veo que no entendiste un carajo de que iba el tip... Por:Zguillez
Zguillez :
infernalpr :
Pues yo me quedo con el código de penHolder, me parece más sencillo y al alcance de muchos, no todos sabemos oop y por ende aplicarlo a cosas tan complicadas como una botonera... que, en cambio, en as1 (como tú lo llamas) son mucho más sencillas, y... mientras un código funcione y cumpla su cometido no me parece incorrecto y ni mucho menos tener que publicar una corrección.
PD: Y como sugerencia, la próxima vez invierte mejor tu tiempo e intenta explicar todo el royo de programación orientada a objetos en vez de... eso... corregir lo que está bien.
Nos vemos
Veo que no entendiste un carajo de que iba el tip...
Oh, muy en el fondo todos pensamos como él. Pero sabemos que ese es el camino fácil, no el correcto. Así que seguimos Zguillez como nuestro guía en la iluminación. Por:Bleend
Bleend :
Así que seguimos Zguillez como nuestro guía en la iluminación.
Eso espero...
A ver, me refiero que sacar como única conclusión del tip una corrección a la forma correcta de hacer la botonera de penHolder es ser un poco... corto.
El tip es una muestra de como utilizando AS2 con OOP el paso a AS3 es sumamente sencillo, cosa que desconoce mucha gente que pretende pasar a AS3 sin haber aplicado nunca OOP y se lleva las manos a la cabeza cada vez que ve un código en AS3. Quien quiera seguir utilizando AS1 para una botonera o lo que sea porque le resulta más sencillo pude seguir haciéndolo el tiempo que le de la gana...
como conejillo de indias debo decir q la demostracion de Z me ha pateado de veras, y me ha hecho replantearme mucho mi forma de programar, me he puesto a estudiar el paradigme de la OOP, le construccion de clases y "todo el royo"; solo debo decir gracias Z! por toda la ayuda q me das *le regala una naranja (no la vayas a exprimir). Por:penHolder
penHolder :
como conejillo de indias debo decir q la demostracion de Z me ha pateado de veras, y me ha hecho replantearme mucho mi forma de programar, me he puesto a estudiar el paradigme de la OOP, le construccion de clases y "todo el royo"; solo debo decir gracias Z! por toda la ayuda q me das *le regala una naranja (no la vayas a exprimir).
*Z se emociona y recoge su naranja
Me alegra que mi tip te haya motivado a estudiar. Hay que estar en continuo aprendizaje y no limitarse a los conocimientos adquiridos (que puedes estar seguro que son muchos menos de los que nos creemos) Por:Zguillez
Zguillez :
(que puedes estar seguro que son muchos menos de los que nos creemos)
ese baboso se cree que sabe pogramar, x que la hace linda con un script. Y se da el lujo de decir que otros no son buenos por que lo hacen con al modo as1. Si supiera lo que es programar con un verdadero lenguaje como java , c# o c , recien podria criticar. Yo programo as3 y posteriores, es mas me dedico ahora solamente a eso en el desarrollo de videogames pero aun asi, el as3 no llena mis espectativas aun. prefiero especializarme en opengl o DirectX. Por:kalinchox_blog
kalinchox_blog :
ese baboso se cree que sabe pogramar, x que la hace linda con un script. Y se da el lujo de decir que otros no son buenos por que lo hacen con al modo as1. Si supiera lo que es programar con un verdadero lenguaje como java , c# o c , recien podria criticar. Yo programo as3 y posteriores, es mas me dedico ahora solamente a eso en el desarrollo de videogames pero aun asi, el as3 no llena mis espectativas aun. prefiero especializarme en opengl o DirectX.
Una critica sin fundamentos , tal vez sea alguna especie de troll anónimo.... ah no! , es kalinchox el troll Por:master_of_puppetz
Fantastico !!
Estoy aprendiedo a programar en actionscript , en principio en modo autodidacta para ir cogiendo fondo, y claro está, ayudandome de internet para ver ejemplos, cursos, preguntar. Aún ando en la fase de aprendizaje inicial y este tip me ha dado a replantearme mi forma de aprender.
No se si empezar por lo primero, o sea conocer el lenguaje de AS1 o ir directamente a trabajar en AS3 con objetos y olvidarme de AS1.
En cualquier caso, es dificil ver en internet, material que sea integro en AS3.
Un saludo a todos. Por:isladelobos
perdon por resucitar el post, pero me lo acaban de enlazar, y no pude resistirme a denunciar el post como una gran falacia... con todos mis respetos Zguillez : mira, tu mismo codigo en AS3:
var botonera=new Sprite(); botonera.x=50; addChild(botonera); var labels = new Array("home", "about", "services", "contact"); var dy=0; for (var i = 0; i < labels.length; i ) { var boton=new Boton(); boton.x = 0; boton.y = dy; dy =boton.height 5; boton.texto.text = labels[i]; boton.mouseChildren=false; boton.buttonMode=true; boton.addEventListener("mouseOver",over); boton.addEventListener("mouseOut",out); boton.addEventListener("mouseDown",down); botonera.addChild(boton); } function over(e) { var alfa:Tween = new Tween(e.target, "alpha", Regular.easeIn, 1, .5, 10); } function out(e) { var alfa:Tween = new Tween(e.target, "alpha", Regular.easeIn, e.target.alpha, 1, 10); } function down(e) { trace(e.target); }
Es perfecto AS3... en el timeline... sin declarar tipos de datos, ni clases, ni herencias, etc... Ahora dime, cual se lee mejor? (vale, puede ser discutible, pero no me puedes decir que es feo )
Y porfi que conste que no estoy en contra del OOP. Al contrario, es muy util para segun que cosas, y lo uso a diario... Pero creo que estais exagerando un poco con todo el tema de evangelizar el OOP... AS3 es un lenguaje flexible, que permite programar de forma procedural practicamente igual que como se hacia con AS1 y AS2. Las diferencias, aparte de las de sintaxis, son principalmente que ahora es mas flexible aún, y que permite programar OOP como dios manda...
nunca lo habia visto de esa manera, yo crei que la POO era unica de AS3. Pero es que en AS3 te obligan a usar la POO ya que eliminan todos los metodos anteriores Por:yo_blog
bueno me perece super bien el paso de AS a POO pero no quiero profundizar en eso, esoty comenzando en esto de animaciones juegos en flash etc, y quesiera saber donde conseguir material bueno y en español, para la realizcion de juego, tengo un problemita en un juego que estoy realizando, pues se trata de un juego de esoso normales el objeto dispara cuando lo hago no se como hacer para que explote ele enemigo, si me pueden ayudar se los agradeceria Por:JArmando