flex - objetos - que es un clip de pelicula en flash
Sintaxis del objeto Actionscript(¿Clase?) (1)
Al tratar de aprender a crear objetos en ActionScript, no he tenido éxito. Una cosa que noté es que parece haber miles de millones de maneras diferentes de hacerlo. Incluso si ninguno de ellos ha funcionado para mí. Esto realmente me confunde, y no sé qué enfoque tratar de depurar.
El enfoque que parece surgir más a menudo es:
function myClass() { this.val = 1; } var test = new myClass(); trace(test.val);
Pero esto solo me da errores de compilación no importa cuán simple lo haga, y no tiene sentido para mí que una función pueda ser un objeto. Si la función es un objeto, ¿dónde "este" apunta cuando está en una función en una función (que se interpreta como un objeto)?
Otra forma que parece surgir con menos frecuencia es:
class myClass { function myClass() { this.val = 1; } } var test = ....
Esto también me da errores de compilación y parece más formal. Pero puedo encontrar muy poca documentación comparativa. La mayoría de las guías son muy simples, o suponen que está hablando de los objetos incorporados.
Una tercera manera que surgió fue crear un
new Object(); en una función, agregue todas las cosas que quería y regréselo. Parece lógico. Pero he leído todo tipo de cosas que mencionan prototipos, y parece que un objeto creado de esta manera no sería adecuado para ser un prototipo. Pero realmente estoy muy confundido.
También encontré algo que decía que la sintaxis de Object era diferente entre AS2 y AS3, pero nada más que eso.
¿Cómo se supone que debo crear objetos? ¿Cuáles son las mejores prácticas, y por el amor de Dios, alguien sabe dónde puedo encontrar un tutorial en profundidad? (mi google-fu es evidentemente débil)
La sintaxis de clase entre AS2 y AS3 es realmente diferente. Para AS3, la sintaxis se parece a la siguiente:
package somePackage {
public class SomeClass {
public function SomeClass() {
}
}
}
A modo de explicación, un paquete es un contenedor que puede contener múltiples clases, por lo que debe declarar qué paquete contiene cada definición de clase.
Una clase requiere una función constructora. En la mayoría de los idiomas, el nombre de la función constructora es el mismo que el nombre de la clase. Este es el caso en ActionScript.
Llamar a una instancia de su clase sería algo como esto:
package somePackage {
public class OtherClass {
public function OtherClass() {
var something = new SomeClass();
}
}
}
Tengo mi referencia AS3 sentada frente a mí, así que me siento bastante seguro con el fragmento de código anterior, pero desafortunadamente mi referencia AS2 está en funcionamiento, pero el código debería verse más o menos así:
class ThirdClass {
public function ThirdClass() {
}
}
Y luego para crear una instancia de una variable debería verse algo como esto:
var third = new ThirdClass();
Tenga en cuenta que los ejemplos que se proporcionan no utilizan un tipado fuerte, que recomendaría utilizar siempre que sea posible en sus esfuerzos de ActionScript.
Si bien es muy recomendable que elija una copia de Essential ActionScript 2.0 y / o Essential ActionScript 3.0 , he encontrado los siguientes enlaces para comenzar con los tutoriales: