greenfoot 8

43
Fecha de la versión: Agosto de 2015 Actualizaciones:

Upload: elian-maya

Post on 12-Apr-2017

50 views

Category:

Education


5 download

TRANSCRIPT

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