SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Fecha de la versión: Agosto de 2015
Actualizaciones:
3
4
Como hemos visto anteriormente, un constructor se declara como
público <ClassName>(parámetros opcionales)
5
En Greenfoot, el constructor en la clase World se agrega por defecto. En las subclases actor no se ha
agregado ningún constructor en el código.
6
"super" en Java es una llamada al constructor del principal. Por lo tanto, en BeeWorld se agrega super con
3 parámetros definiendo el ancho, alto y tamaño de celda.
Esto nos indica que la clase World tiene un constructor que acepta tres valores enteros.
7
A la hora de diseñar el juego, tenga siempre en cuenta que es posible que otros usuarios tengan un tamaño
de pantalla que coincide con su resolución. Por lo tanto, si crea un juego con unas dimensiones de 1900 x
1200, muchos de los usuarios no podrán verlo por completo.
8
Anteriormente, hemos visto que la opción "Save the World" hace exactamente esto, pero podemos
modificarla en el código fuente para ampliar su función.
9
Super(560,560,1): crea un mundo con un ancho de 560 y una altura de 560.
10
No tenemos que limitarnos a solo 2 imágenes. Cuantas más imágenes utilicemos en la animación, más
suave será el efecto.
11
Recuerde que las imágenes transparentes nos permiten crear efectos más realistas, en lugar de que la
imagen tenga el aspecto de un bloque.
12
La palabra clave new generará una llamada al constructor de GreenfootImage. En este ejemplo, el
constructor aceptará un valor de cadena relacionado con el nombre de una imagen almacenada en la
carpeta de imágenes.
13
Recuerde que Java distingue mayúsculas y minúsculas, por lo que es importante su uso en la cadena
"bee.png".
14
15
La parte más difícil de la animación en Greenfoot o en cualquier otra herramienta de software es el dibujo
de imágenes o el acceso a imágenes relevantes en Internet.
16
17
Solo hemos creado variables del tipo int o boolean. Para guardar una imagen, utilizamos el tipo
GreenfootImage.
18
Por lo general, declaramos las variables de clase como privadas, de modo que no se pueda acceder a estas
directamente desde fuera de la clase. Crearíamos métodos que permitirían obtener y definir su valor.
19
Podemos ver que hemos agregado 2 campos de clase adicionales, ambos del tipo Greenfootimage. Si
hiciéramos clic con el botón derecho en una instancia Bee y seleccionáramos inspect, veríamos estos 2
campos.
20
Recuerde que un único signo igual = es una asignación y un doble signo igual == es una comparación.
21
Recuerde que todas nuestras imágenes deben incluirse en la carpeta Images.
22
23
Aquí hemos utilizado 2 imágenes, pero podríamos utilizar tantas imágenes como quisiéramos.
24
25
El pseudocódigo le permite centrarse en el algoritmo en lugar de en la sintaxis.
26
Tener una idea clara de su pseudocódigo permite que la escritura de las sentencias de Java equivalentes
sea mucho más sencilla. Resulta fácil prestar demasiada atención a la sintaxis en lugar de pensar en el
algoritmo.
27
El compilador de java casi siempre informará del error si se mezclan los signos de igual y doble igual.
28
getImage es un método de la clase Actor.
29
Tenga en cuenta que los métodos que hemos creado anteriormente se muestran en la parte inferior del
método act. Los trasladamos a sus propios métodos para que el código fuese más legible.
30
La ejecución del programa probablemente produce una animación que es demasiado rápida. Podríamos
agregar un retardo utilizando un contador que solo cambiará la animación cuando se restablezca el
contador.
31
También es posible que no desee detener la partida de Greenfoot pero desee volver a la pantalla de inicio.
32
Puede grabar un mensaje con formato .wav indicando que ha finalizado el juego.
33
Podemos llamar a stop() desde una clase Actor o una clase World.
34
35
También es recomendable agregar comentarios a las variables de clase de modo que el usuario entienda
mejor el significado. En este ejemplo se han omitido debido al espacio que se ha dejado para la captura de
pantalla.
36
El código score++; es el mismo que si se escribe score = score+1; que incrementa la puntuación en 1.
La última línea del código obtiene el mundo actual y llama a su método addObject() que vimos
anteriormente. Esta vez lo llamamos desde un actor, por lo que getWorld() devuelve una referencia al
mundo actual. Esto significa que cada vez que capturamos a una mosca, reaparece otra.
37
Podríamos haber escrito:
this.setLocation(20,20);
this.lives--;
Recuerde que "this" es opcional y en la mayoría de los casos no es necesario.
38
El método Greenfoot.showText() se agregó en la versión 2.4.0
39
La creación de un nuevo método denominado updateScore() nos permite llamar a este método desde
cualquier otra parte de la clase Bee. Eso significa que si hemos agregado algo más que haya aumentado la
puntuación, podríamos simplemente llamar a updateScore() sin tener que volver a escribir el código.
También podríamos agregar un parámetro como int scoreincrease que incrementaría la puntuación en más
de uno:
updateScore(int scoreincrease) {
score = score + scoreincrease;
}
40
41
42
Capitulo 8

Más contenido relacionado

La actualidad más candente (8)

Intro PyGame Capitulo 1
Intro PyGame Capitulo 1Intro PyGame Capitulo 1
Intro PyGame Capitulo 1
 
Cómo utilizar Android Virtual
Cómo utilizar Android VirtualCómo utilizar Android Virtual
Cómo utilizar Android Virtual
 
Programación con Pygame (II)
Programación con Pygame (II)Programación con Pygame (II)
Programación con Pygame (II)
 
Programación con Pygame VI
Programación con Pygame VIProgramación con Pygame VI
Programación con Pygame VI
 
Intro PygameCapitulo 3
Intro PygameCapitulo 3Intro PygameCapitulo 3
Intro PygameCapitulo 3
 
Programación con Pygame V
Programación con Pygame VProgramación con Pygame V
Programación con Pygame V
 
Programación con Pygame I
Programación con Pygame IProgramación con Pygame I
Programación con Pygame I
 
Programación con Pygame IV
Programación con Pygame IVProgramación con Pygame IV
Programación con Pygame IV
 

Similar a Capitulo 8 (20)

Grennfoot 1
Grennfoot 1Grennfoot 1
Grennfoot 1
 
Jf 3 1_sg_esp(4)
Jf 3 1_sg_esp(4)Jf 3 1_sg_esp(4)
Jf 3 1_sg_esp(4)
 
Pra 1
Pra 1Pra 1
Pra 1
 
Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1
 
Greenfoot 1
Greenfoot 1Greenfoot 1
Greenfoot 1
 
Jf 3 1_sg_esp(4) 1
Jf 3 1_sg_esp(4) 1Jf 3 1_sg_esp(4) 1
Jf 3 1_sg_esp(4) 1
 
Jf 3 1_sg_esp(4)
Jf 3 1_sg_esp(4)Jf 3 1_sg_esp(4)
Jf 3 1_sg_esp(4)
 
CAPITULO 1 GREENFOOT
CAPITULO 1 GREENFOOTCAPITULO 1 GREENFOOT
CAPITULO 1 GREENFOOT
 
Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1
 
Capitulo 1 greenfoot
Capitulo 1 greenfootCapitulo 1 greenfoot
Capitulo 1 greenfoot
 
Greenfoot 1
Greenfoot 1Greenfoot 1
Greenfoot 1
 
Greenfoot 1
Greenfoot 1 Greenfoot 1
Greenfoot 1
 
CAPITULO 1 DE GREENFOOT
CAPITULO 1 DE GREENFOOTCAPITULO 1 DE GREENFOOT
CAPITULO 1 DE GREENFOOT
 
Jf 3 1_sg_esp(4)
Jf 3 1_sg_esp(4)Jf 3 1_sg_esp(4)
Jf 3 1_sg_esp(4)
 
leccion 1
leccion 1leccion 1
leccion 1
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
CAPITULO 6 DE GREENFOOT
CAPITULO 6 DE GREENFOOTCAPITULO 6 DE GREENFOOT
CAPITULO 6 DE GREENFOOT
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
Pra6
Pra6Pra6
Pra6
 

Más de ramosmendezshura

Más de ramosmendezshura (20)

La teoria del color
La teoria del colorLa teoria del color
La teoria del color
 
Pagina web correcto
Pagina web correctoPagina web correcto
Pagina web correcto
 
Diversas topologias que_existen_en_la_red_jcrm (1)
Diversas topologias que_existen_en_la_red_jcrm (1)Diversas topologias que_existen_en_la_red_jcrm (1)
Diversas topologias que_existen_en_la_red_jcrm (1)
 
Caracteristicasypartes web jcrm (1)
Caracteristicasypartes web jcrm (1)Caracteristicasypartes web jcrm (1)
Caracteristicasypartes web jcrm (1)
 
La teoria del_color (1)
La teoria del_color (1)La teoria del_color (1)
La teoria del_color (1)
 
Examen de diagnostico jcrm (1)
Examen de diagnostico jcrm (1)Examen de diagnostico jcrm (1)
Examen de diagnostico jcrm (1)
 
Capitulo 10
Capitulo 10Capitulo 10
Capitulo 10
 
Capitulo 9
Capitulo 9Capitulo 9
Capitulo 9
 
Capitulo 7
Capitulo 7Capitulo 7
Capitulo 7
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 
Capitulo 5
Capitulo 5Capitulo 5
Capitulo 5
 
Capitulo 4
Capitulo 4Capitulo 4
Capitulo 4
 
Capitulo 3
Capitulo 3Capitulo 3
Capitulo 3
 
Capitulo 2
Capitulo 2Capitulo 2
Capitulo 2
 
Practica 14
Practica 14Practica 14
Practica 14
 
Practica 13
Practica 13Practica 13
Practica 13
 
Practica 12
Practica 12Practica 12
Practica 12
 
Practica 11
Practica 11Practica 11
Practica 11
 
Practica 10
Practica 10Practica 10
Practica 10
 
Practica 9
Practica 9Practica 9
Practica 9
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 

Último (20)

Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 

Capitulo 8

  • 1. Fecha de la versión: Agosto de 2015 Actualizaciones:
  • 2.
  • 3. 3
  • 4. 4
  • 5. Como hemos visto anteriormente, un constructor se declara como público <ClassName>(parámetros opcionales) 5
  • 6. En Greenfoot, el constructor en la clase World se agrega por defecto. En las subclases actor no se ha agregado ningún constructor en el código. 6
  • 7. "super" en Java es una llamada al constructor del principal. Por lo tanto, en BeeWorld se agrega super con 3 parámetros definiendo el ancho, alto y tamaño de celda. Esto nos indica que la clase World tiene un constructor que acepta tres valores enteros. 7
  • 8. A la hora de diseñar el juego, tenga siempre en cuenta que es posible que otros usuarios tengan un tamaño de pantalla que coincide con su resolución. Por lo tanto, si crea un juego con unas dimensiones de 1900 x 1200, muchos de los usuarios no podrán verlo por completo. 8
  • 9. Anteriormente, hemos visto que la opción "Save the World" hace exactamente esto, pero podemos modificarla en el código fuente para ampliar su función. 9
  • 10. Super(560,560,1): crea un mundo con un ancho de 560 y una altura de 560. 10
  • 11. No tenemos que limitarnos a solo 2 imágenes. Cuantas más imágenes utilicemos en la animación, más suave será el efecto. 11
  • 12. Recuerde que las imágenes transparentes nos permiten crear efectos más realistas, en lugar de que la imagen tenga el aspecto de un bloque. 12
  • 13. La palabra clave new generará una llamada al constructor de GreenfootImage. En este ejemplo, el constructor aceptará un valor de cadena relacionado con el nombre de una imagen almacenada en la carpeta de imágenes. 13
  • 14. Recuerde que Java distingue mayúsculas y minúsculas, por lo que es importante su uso en la cadena "bee.png". 14
  • 15. 15
  • 16. La parte más difícil de la animación en Greenfoot o en cualquier otra herramienta de software es el dibujo de imágenes o el acceso a imágenes relevantes en Internet. 16
  • 17. 17
  • 18. Solo hemos creado variables del tipo int o boolean. Para guardar una imagen, utilizamos el tipo GreenfootImage. 18
  • 19. Por lo general, declaramos las variables de clase como privadas, de modo que no se pueda acceder a estas directamente desde fuera de la clase. Crearíamos métodos que permitirían obtener y definir su valor. 19
  • 20. Podemos ver que hemos agregado 2 campos de clase adicionales, ambos del tipo Greenfootimage. Si hiciéramos clic con el botón derecho en una instancia Bee y seleccionáramos inspect, veríamos estos 2 campos. 20
  • 21. Recuerde que un único signo igual = es una asignación y un doble signo igual == es una comparación. 21
  • 22. Recuerde que todas nuestras imágenes deben incluirse en la carpeta Images. 22
  • 23. 23
  • 24. Aquí hemos utilizado 2 imágenes, pero podríamos utilizar tantas imágenes como quisiéramos. 24
  • 25. 25
  • 26. El pseudocódigo le permite centrarse en el algoritmo en lugar de en la sintaxis. 26
  • 27. Tener una idea clara de su pseudocódigo permite que la escritura de las sentencias de Java equivalentes sea mucho más sencilla. Resulta fácil prestar demasiada atención a la sintaxis en lugar de pensar en el algoritmo. 27
  • 28. El compilador de java casi siempre informará del error si se mezclan los signos de igual y doble igual. 28
  • 29. getImage es un método de la clase Actor. 29
  • 30. Tenga en cuenta que los métodos que hemos creado anteriormente se muestran en la parte inferior del método act. Los trasladamos a sus propios métodos para que el código fuese más legible. 30
  • 31. La ejecución del programa probablemente produce una animación que es demasiado rápida. Podríamos agregar un retardo utilizando un contador que solo cambiará la animación cuando se restablezca el contador. 31
  • 32. También es posible que no desee detener la partida de Greenfoot pero desee volver a la pantalla de inicio. 32
  • 33. Puede grabar un mensaje con formato .wav indicando que ha finalizado el juego. 33
  • 34. Podemos llamar a stop() desde una clase Actor o una clase World. 34
  • 35. 35
  • 36. También es recomendable agregar comentarios a las variables de clase de modo que el usuario entienda mejor el significado. En este ejemplo se han omitido debido al espacio que se ha dejado para la captura de pantalla. 36
  • 37. El código score++; es el mismo que si se escribe score = score+1; que incrementa la puntuación en 1. La última línea del código obtiene el mundo actual y llama a su método addObject() que vimos anteriormente. Esta vez lo llamamos desde un actor, por lo que getWorld() devuelve una referencia al mundo actual. Esto significa que cada vez que capturamos a una mosca, reaparece otra. 37
  • 38. Podríamos haber escrito: this.setLocation(20,20); this.lives--; Recuerde que "this" es opcional y en la mayoría de los casos no es necesario. 38
  • 39. El método Greenfoot.showText() se agregó en la versión 2.4.0 39
  • 40. La creación de un nuevo método denominado updateScore() nos permite llamar a este método desde cualquier otra parte de la clase Bee. Eso significa que si hemos agregado algo más que haya aumentado la puntuación, podríamos simplemente llamar a updateScore() sin tener que volver a escribir el código. También podríamos agregar un parámetro como int scoreincrease que incrementaría la puntuación en más de uno: updateScore(int scoreincrease) { score = score + scoreincrease; } 40
  • 41. 41
  • 42. 42