Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/03/2013, 08:26
Andurino
 
Fecha de Ingreso: marzo-2013
Mensajes: 3
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Eventos Propios de Objetos Propios

Gracias por la contribución.
Creo que tu solucion no asigna a las funciones anónimas metodo alguno.
¿donde esta el evento declarado, definido y asignado? Son las 3 cosas que busco para el ejemplo.
Respecto a que si un perro hace "miau" en fin .... la solución a este problema es reasignar a la instancia del perro el sonido por el que sea adecuado.

Código Javascript:
Ver original
  1. <script language="javascript" type="text/javascript">
  2. function Animal(nombre) {
  3.   //objeto Animal.
  4.   //propiedades
  5.   this.vidas=7;
  6.   this.sonido="Miau!!!!";
  7.   this.nombre=nombre;
  8.  
  9.   //metodos
  10.   this.maulla=Maulla;
  11.   this.muerde=Muerde;
  12.  
  13.   //eventos
  14.   this.onMuerde=new Function();
  15.   this.onMaulla=new Function();
  16.  
  17.   return this;
  18. }
  19.  
  20. function Maulla {
  21.   //Metodo del objeto Animal
  22.   if(this.vidas>0){
  23.       alert(this.sonido+" "+this.vidas);
  24.       this.onMaulla();
  25. }else{
  26.    alert("Muerte");
  27.    delete this;
  28.   }
  29.   }
  30.  
  31. function Muerde(aQuien) {
  32.     if (aQuien.vidas>0){
  33.         aQuien.vidas-=1;
  34.         aQuien.maulla();
  35.     };
  36. }
  37.  
  38. //Instanciamos los Animales
  39. var Gato=new Animal("Roger");
  40. var Perro=new Animal("Michael");
  41. Perro.sonido = "Ladra"; // no afecta al ejercicio un perro no maulla :D
  42.  
  43. //Asigno al evento del Gato onMaulla a la accion El perro muerde al gato.
  44. Gato.onMaulla = Perro.muerde(Gato);
  45.  
  46. //Asigno al evento del Perro onMuerde a la accion del Gato ->maullar
  47. //Perro.onMuerde = GatoEsMordido();
  48.  
  49. Gato.maulla();
  50.  
  51. </script>

Última edición por Andurino; 19/03/2013 a las 17:19 Razón: Pues que ya estoy en un PC ?? ¿vale la Razón?