Herramientas de usuario

Herramientas del sitio


manipulacion_basica_de_entidades

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
manipulacion_basica_de_entidades [2011/06/29 07:43]
jenesis
manipulacion_basica_de_entidades [2011/08/22 17:07]
aetheria
Línea 78: Línea 78:
 === Métodos para quitar, poner y mover entidades === === Métodos para quitar, poner y mover entidades ===
  
-Con el código que acabamos de ver, podemos proporcionar una "​excusa"​ al jugador para no dejarle que se coma el plátano. Pero lo que realmente queríamos hacer es que se lo coma de verdad. Para ello, tendremos que quitar el plátano del inventario del jugador y, si queremos darle un mayor realismo, hacer que se quede con una piel de plátano en su lugar. El AGE proporciona una serie de métodos que sirven para llevar a cabo este tipo de operaciones que mueven entidades de un lado a otro. He aquí algunos de ellos, donde expresamos en un comentario a qué clase pertenecen (un método de la clase ''​Cl''​ se puede ejecutar haciendo ''​obj.metodo(parametros)''​ si ''​obj''​ es un objeto de la clase ''​Cl''​):​+Con el código que acabamos de ver, podemos proporcionar una "​excusa"​ al jugador para no dejarle que se coma el plátano. Pero lo que realmente queríamos hacer es que se lo coma de verdad. Para ello, tendremos que quitar el plátano del inventario del jugador y, si queremos darle un mayor realismo, hacer que se quede con una piel de plátano en su lugar. El AGE proporciona una serie de métodos que sirven para llevar a cabo este tipo de operaciones que mueven entidades de un lado a otro. He aquí algunos de ellos, donde expresamos en un comentario a qué clase pertenecen (un método de una clase ''​X''​ se puede ejecutar haciendo ''​obj.metodo(parametros)''​ si ''​obj''​ es un objeto de esa clase ''​X''​):​
  
 <code java>/​*clase Mobile*/ boolean removeItem ( Item oldItem )</​code>​ <code java>/​*clase Mobile*/ boolean removeItem ( Item oldItem )</​code>​
Línea 106: Línea 106:
 ''​cosa.moveTo ( sala )''​ quita la ''​cosa''​ dada de todos los sitios donde esté y la pone en el inventario de la ''​sala''​. ''​cosa.moveTo ( sala )''​ quita la ''​cosa''​ dada de todos los sitios donde esté y la pone en el inventario de la ''​sala''​.
  
-//Nota: en caso de estar usando el sistema de pesos y volúmenes, hay que tener en cuenta que todos los métodos que ponen una cosa en un inventario (de habitación o de criatura) pueden tirar las excepciones VolumeLimitExceededException y WeightLimitExceededException,​ si ese inventario está limitado en peso o volumen y no puede contener esa cosa. Veremos detalles sobre esto cuando veamos manejo de excepciones,​ por ahora supondremos que no estamos limitando explícitamente los inventarios en peso (el límite por defecto son 10.000 unidades de peso y volumen, que debería llegar siempre si no ponemos objetos muy pesados)+//Nota: en caso de estar usando el sistema de pesos y volúmenes, hay que tener en cuenta que todos los métodos que ponen una cosa en un inventario (de habitación o de criatura) pueden tirar las excepciones VolumeLimitExceededException y WeightLimitExceededException,​ si ese inventario está limitado en peso o volumen y no puede contener esa cosa. Veremos detalles sobre esto cuando veamos manejo de excepciones,​ por ahora supondremos que no estamos limitando explícitamente los inventarios en peso (el límite por defecto son 10.000 unidades de peso y volumen, que debería llegar siempre si no ponemos objetos muy pesados).//
-Hay que tener en cuenta que moveTo no debe aplicarse sobre objetos contenidos en contenedores,​ ya que en dichos casos se comporta como un "​addItem",​ que añade al objeto al destino especificado pero que no lo borra del lugar original.//+
  
 Además de los métodos para quitar, poner y mover cosas, también tenemos un método para mover una criatura a una habitación distinta del mundo: Además de los métodos para quitar, poner y mover cosas, también tenemos un método para mover una criatura a una habitación distinta del mundo:
manipulacion_basica_de_entidades.txt · Última modificación: 2011/08/22 17:07 por aetheria