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
Jf 3 8_sg_esp(2)(3)

Más contenido relacionado

La actualidad más candente

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 Jf 3 8_sg_esp(2)(3) (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
 
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 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
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
leccion 6
leccion 6leccion 6
leccion 6
 
Capitulo 6 greenfoot
Capitulo 6 greenfootCapitulo 6 greenfoot
Capitulo 6 greenfoot
 
Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)Jf 3 6_sg_esp(3)
Jf 3 6_sg_esp(3)
 
Capitulo 6
Capitulo 6Capitulo 6
Capitulo 6
 

Más de Laura Cortez (20)

Dream
DreamDream
Dream
 
Mi pagina web
Mi pagina webMi pagina web
Mi pagina web
 
Topologias de red
Topologias de redTopologias de red
Topologias de red
 
Sitio web
Sitio webSitio web
Sitio web
 
Teoria del color_4deg_semestre
Teoria del color_4deg_semestreTeoria del color_4deg_semestre
Teoria del color_4deg_semestre
 
Examen
ExamenExamen
Examen
 
Mi pagina web
Mi pagina webMi pagina web
Mi pagina web
 
Topologias de red
Topologias de redTopologias de red
Topologias de red
 
Sitio web
Sitio webSitio web
Sitio web
 
Teoría del color
Teoría del colorTeoría del color
Teoría del color
 
Examen de diagnostico
Examen de diagnosticoExamen de diagnostico
Examen de diagnostico
 
Alice2
Alice2Alice2
Alice2
 
Alice3
Alice3Alice3
Alice3
 
Alice4
Alice4Alice4
Alice4
 
Alice6
Alice6Alice6
Alice6
 
Alice7
Alice7Alice7
Alice7
 
Alice8
Alice8Alice8
Alice8
 
Alice9
Alice9Alice9
Alice9
 
Alice10
Alice10Alice10
Alice10
 
Alice11
Alice11Alice11
Alice11
 

Último

Tipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfTipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfCarlosSanchez452245
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)Samuel Solís Fuentes
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptxalzabenjaminci00
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocioMagemyl Egana
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...juanforero141
 
Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocioMagemyl Egana
 
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxcorreafrancoci00
 
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfUPSE
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxUPSE
 

Último (9)

Tipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfTipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdf
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocio
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
 
Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocio
 
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
 
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
 

Jf 3 8_sg_esp(2)(3)

  • 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