Referencia

Funcionalidad

Muestra en pantalla todos los elementos del juego. Ha de llamarse dentro de la función

Fija el objeto escenario del juego

Añade un actor al juego

Funciones OsGame

void draw()

void cambiarEscenario(OsStage nuevoEscenario)

void insertarNuevoActor(OsSprite actor, String nombre)

Clase OsStage

Bloque Apariencia

Funciones de OsStage

void cambiarElFondoA(String nombreFondo)

void fondoSiguiente()

int numeroDeFondo()

void mostrarNumeroDeFondo()

void esconderNumeroDeFondo()

Bloque Sonido

Funciones de OsStage

void tocarSonido(String nombreSonido)

void tocarSonidoYesperar(String nombreSonido)

void detenerTodosLosSonidos()

void tocarTambor(int instrumento, double pulsos)

void silencioPor(double pulsos)

void tocarNota(int nota, double pulsos)

void fijarInstrumentoA(int instrumento)

void cambiarVolumenPor(double volumen)

void fijarVolumen(double volumen)

double volumen()

void mostrarVolumen()

void esconderVolumen()

void cambiarTempoPor(double tempo)

void fijarTempo(double tempo)

double tempo()

void mostrarTempo()

void esconderTempo()

Bloque Lápiz

Funciones de OsStage

void borrar()

Bloque Control

Funciones de OsStage

void alPresionarBandera() {

// Aquí el código

}

void alPresionarTecla(int scratchChar) {

// Aquí el código

}

void alPresionarObjeto() {

// Aquí el código

}

void esperar(double segundos)

while( seCumple(true) ) {

//Aquí el código

}

for(int i=0; seCumple(i<10) ;i++) {

// Aquí el código

}

void enviarAtodos(String msg)

void enviarAtodosYesperar(String msg)

void alRecibir(String msg) {

// Aquí el código

}

while( seCumple(condicion) ) {

// Aquí el código

}

if( condicion ) {

// Aquí el código

}

if( condicion ) {

// Aquí el código

} else {

// Aquí el código

}

esperarHastaQue(boolean condicion)

while( noSeCumple(condicion) ) {

// Aquí el código

}

void detenerPrograma()

void detenerTodo()

Bloque Sensores

Funciones de OsStage

void preguntarYesperar(String textoPregunta)

String respuesta()

void mostrarRespuesta()

void esconderRespuesta()

boolean esRespuestaUnEntero()

boolean esRespuestaUnReal()

int respuestaEnEntero()

double respuestaEnReal()

int xDelRaton()

int yDelRaton()

boolean ratonPresionado()

boolean teclaPresionada(int scratchKey)

void reiniciarCronometro()

double cronometro()

void mostrarCronometro()

void esconderCronometro()

Bloque Operadores

Funciones de OsStage

double numeroAlAzarEntre(double num1, double num2)

boolean menor(String num1, String num2)

boolean igual(String num1, String num2)

boolean mayor(String num1, String num2)

String unir(String texto1, String texto2)

String letraDe(int numLetra, String texto)

int longitudDe(String texto)

//Utilizar el operador % de Java

int redondear(double num)

double valorAbsoluto(double num)

double raizCuadrada(double num)

double seno(double num)

double coseno(double num)

double tangente(double num)

double senoInverso(double num)

double cosenoInverso(double num)

double tangenteInversa(double num)

double logaritmoNeperiano(double num)

double logritmoEnBase10(double num)

double eElevadoA(double num)

double diezElevadoA(double num)

int redondear(double num)

Bloque Variables

Funciones de OsStage

void nuevaVariableGlobal(String nombreVariable)

void borrarUnaVariable(String nombreVariable)

String variable(String nombreVariable)

void mostrarVariable(String nombreVariable)

void esconderVariable(String nombreVariable)

void fijarVariable(String nombreVariable, String valor)

void cambiarVariablePor(String nombreVariable, double valor)

void mostrarVariable(String nombreVariable)

void esconderVariable(String nombreVariable)

void nuevaListaGlobal(String nombreLista)

void borrarUnaLista(String nombreLista)

void mostrarLista(String nombreLista)

void esconderLista(String nombreLista)

void insertarEnLista(String nombreLista, String valor)

void borrarUnaLista(String nombreLista)

void insertarEnLista(String nombreLista, String valor, int posicionObjeto)

void reemplazarObjetoEnLista(String nombreLista, int posicionObjeto, String valor)

String itemDeLista(String nombreLista, int posicionObjeto)

int longitudDeLista(String nombreLista)

boolean contieneEnLista(String nombreLista, String valor)

Otras Funcionalidades

Añade un fondo al escenario. Es conveniente hacerlo dentro de la función setup().

Añade un sonido al escenario. Es conveniente hacerlo dentro de la función setup().

Si el sistema determina que el hilo desde donde se ejecuta debe terminarse devuelve false. En caso contrario devuelve la condición pasada en el argumento. Esta función ayuda al sistema al control y gestión de los distintos hilos de ejecución.

Si el sistema determina que el hilo desde donde se ejecuta debe terminarse devuelve false. En caso contrario devuelve la condición inversa a la pasada en el argumento. Esta función ayuda al sistema al control y gestión de los distintos hilos de ejecución.

El sistema llama a esta función cuando se añade un objeto al juego. Este es el mejor sitio para importar los fondos y sonidos.

Devuelve el color del fondo sobre el que se encuentra el puntero del ratón

Funciones de OsStage

void importarFondo(String ruta, String nombreFondo)

void importarSonido(String ruta, String nombreSonido)

boolean seCumple(boolean condicion)

boolean noSeCumple(boolean condicion)

void setup()

int colorDeLaPosicionDelRaton()

Clase OsSprite

Bloque Movimiento

Funciones de OsSprite

void mover(int pasos)

void girarDerecha(int grados)

void girarIzquierda(int grados)

void apuntarEnDireccion(int grados)

void apuntarHacia(OsSprite scratch)

void apuntarHaciaRaton()

void apuntarHacia(double x, double y)

void irA(double x, double y)

void irA(OsSprite scratch)

void irARaton()

void deslizarAxy(double segundos, double x, double y)

void cambiarXpor(double x)

void fijarXa(double x)

void cambiarYpor(double y)

void fijarYa(double y)

void rebotarSiEstaTocandoUnBorde()

double posicionEnX()

void mostrarPosicionEnX()

void esconderPosicionEnX()

double posicionEnY()

void mostrarPosicionEnY()

void esconderPosicionEnY()

double direccion()

void mostrarDireccion()

void esconderDireccion()

Bloque Apariencia

Funciones de OsSprite

void cambiarElDisfrazA(String nombreDisfraz)

void siguienteDisfraz()

int numeroDeDisfraz()

void mostrarNumeroDeDisfraz()

void esconderNumeroDeDisfraz()

void decirPor(String texto, double segundos)

void decir(String texto)

void pensarPor(String texto, double segundos)

void pensar(String texto)

void cambiarTamanioPor(double porcentaje)

void fijarTamanioA(double porcentaje)

int tamanio()

void mostrarTamanio()

void esconderTamanio()

void mostrar()

void esconder()

void enviarAlFrente()

void enviarHaciaAtras(int capas)

Bloque Sonido

Funciones de OsSprite

void tocarSonido(String nombreSonido)

void tocarSonidoYesperar(String nombreSonido)

void detenerTodosLosSonidos()

void tocarTambor(int instrumento, double pulsos)

void silencioPor(double pulsos)

void tocarNota(int nota, double pulsos)

void fijarInstrumentoA(int instrumento)

void cambiarVolumenPor(double volumen)

void fijarVolumen(double volumen)

double volumen()

void mostrarVolumen()

void esconderVolumen()

void cambiarTempoPor(double tempo)

void fijarTempo(double tempo)

double tempo()

void mostrarTempo()

void esconderTempo()

Bloque Lápiz

Funciones de OsSprite

void borrar()

void bajarLapiz()

void subirLapiz()

void fijarColorDeLapizA(int rojo, int verde, int azul)

void cambiarColorDelLapizPor(int color)

void fijarColorDeLapizA(int color)

void cambiarIntensidadDeLapizPor(int intensidadLapiz)

void fijarIntensidadDeLapizA(int intensidadLapiz)

void cambiarTamanioDeLapizPor(int tamanio)

void fijarTamanioDeLapizA(int tamanio)

void sellar()

Bloque Control

Funciones de OsStage

void alPresionarBandera() {

// Aquí el código

}

void alPresionarTecla(int scratchChar) {

// Aquí el código

}

void alPresionarObjeto() {

// Aquí el código

}

void esperar(double segundos)

while( seCumple(true) ) {

//Aquí el código

}

for(int i=0; seCumple(i<10) ;i++) {

// Aquí el código

}

void enviarAtodos(String msg)

void enviarAtodosYesperar(String msg)

void alRecibir(String msg){

// Aquí el código

}

while( seCumple(condicion) ) {

// Aquí el código

}

if( condicion ) {

// Aquí el código

}

if( condicion ) {

// Aquí el código

} else {

// Aquí el código

}

esperarHastaQue(boolean condicion)

while( noSeCumple(condicion) ) {

// Aquí el código

}

void detenerPrograma()

void detenerTodo()

Bloque Sensores

Funciones de OsSprite

boolean tocando(String nombreActor)

boolean tocandoRaton()

boolean tocandoBorde()

boolean tocando(int rojo, int verde, int azul)

boolean tocando(int rojoFondo, int verdeFondo, int azulFondo,

int rojoObjeto, int verdeObjeto, int azulObjeto)

void preguntarYesperar(String textoPregunta)

String respuesta()

void mostrarRespuesta()

void esconderRespuesta()

boolean esRespuestaUnEntero()

boolean esRespuestaUnReal()

int respuestaEnEntero()

double respuestaEnReal()

int xDelRaton()

int yDelRaton()

boolean ratonPresionado()

teclaPresionada(int scratchKey)

double distanciaA(String nombreActor)

double distanciaARaton()

void reiniciarCronometro()

double cronometro()

void mostrarCronometro()

void esconderCronometro()

Bloque Operadores

Funciones de OsStage

double numeroAlAzarEntre(double num1, double num2)

boolean menor(String num1, String num2)

boolean igual(String num1, String num2)

boolean mayor(String num1, String num2)

String unir(String texto1, String texto2)

String letraDe(int numLetra, String texto)

int longitudDe(String texto)

//Utilizar el operador % de Java

int redondear(double num)

double valorAbsoluto(double num)

double raizCuadrada(double num)

double seno(double num)

double coseno(double num)

double tangente(double num)

double senoInverso(double num)

double cosenoInverso(double num)

double tangenteInversa(double num)

double logaritmoNeperiano(double num)

double logritmoEnBase10(double num)

double eElevadoA(double num)

double diezElevadoA(double num)

int redondear(double num)

Bloque Variables

Funciones de OsSprite

void nuevaVariableGlobal(String nombreVariable)

void nuevaVariableLocal(String nombreVariable)

void borrarUnaVariable(String nombreVariable)

String variable(String nombreVariable)

void mostrarVariable(String nombreVariable)

void esconderVariable(String nombreVariable)

void fijarVariable(String nombreVariable, String valor)

void cambiarVariablePor(String nombreVariable, double valor)

void mostrarVariable(String nombreVariable)

void esconderVariable(String nombreVariable)

void nuevaListaGlobal(String nombreLista)

void nuevaListaLocal(String nombreLista)

void borrarUnaLista(String nombreLista)

void mostrarLista(String nombreLista)

void esconderLista(String nombreLista)

void insertarEnLista(String nombreLista, String valor)

void borrarUnaLista(String nombreLista)

void insertarEnLista(String nombreLista, String valor, int posicionObjeto)

void reemplazarObjetoEnLista(String nombreLista, int posicionObjeto, String valor)

String itemDeLista(String nombreLista, int posicionObjeto)

int longitudDeLista(String nombreLista)

boolean contieneEnLista(String nombreLista, String valor)

Otras Funcionalidades

Añade un disfraz al actor. Es conveniente hacerlo dentro de la función setup().

Añade un sonido al escenario. Es conveniente hacerlo dentro de la función setup().

Si el sistema determina que el hilo desde donde se ejecuta debe terminarse devuelve false. En caso contrario devuelve la condición pasada en el argumento. Esta función ayuda al sistema al control y gestión de los distintos hilos de ejecución.

Si el sistema determina que el hilo desde donde se ejecuta debe terminarse devuelve false. En caso contrario devuelve la condición inversa a la pasada en el argumento. Esta función ayuda al sistema al control y gestión de los distintos hilos de ejecución.

El sistema llama a esta función cuando se añade un objeto al juego. Este es el mejor sitio para importar los fondos y sonidos.

Establece como se mostrará el actor en función de la dirección que tenga. Puede tomar tres valores:

Funciones de OsSprite

GIRO_COMPLETO

GIRO_IZQ_DCH

GIRO_DESHABILITADO

void importarDisfraz(String ruta, String nombreDisfraz)

void importarSonido(String ruta, String nombreSonido)

boolean seCumple(boolean condicion)

boolean noSeCumple(boolean condicion)

void setup()

void fijarModoDeGiro(int modoGiro)

int colorDeLaPosicionDelRaton()

Devuelve el color del objeto sobre el que se encuentra el puntero del ratón

Inerfaz OsKey

Teclas en Scratch

Código para Processing

OsKey.flecha_arriba

OsKey.flecha_abajo

OsKey.flecha_derecha

OsKey.flecha_izquierda

OsKey.espacio

OsKey.a

OsKey.b

OsKey.c

OsKey.d

OsKey.e

OsKey.f

OsKey.g

OsKey.h

OsKey.i

OsKey.j

OsKey.k

OsKey.l

OsKey.m

OsKey.n

OsKey.o

OsKey.p

OsKey.q

OsKey.r

OsKey.s

OsKey.t

OsKey.u

OsKey.v

OsKey.w

OsKey.x

OsKey.y

OsKey.z

OsKey.numero0

OsKey.numero1

OsKey.numero2

OsKey.numero3

OsKey.numero4

OsKey.numero5

OsKey.numero6

OsKey.numero7

OsKey.numero8

OsKey.numero9

Trucos avanzados

Ejemplo alPresionarTecla en Scratch

Código para Processing

Opción 1

public void alPresionarTecla(int scratchChar) {

// En esta plantilla se procesan las teclas flecha_derecha,

// Flecha_izquierda, a y b.

// El código de usuario se implementa en funciones

// independientes.

// Editar para procesar las teclas deseadas.

if (scratchChar == OsKey.flecha_derecha )

alPresionarTeclaFlechaDerecha();

else if (scratchChar == OsKey.flecha_izquierda)

alPresionarTeclaFlechaIzquierda();

else if (scratchChar == OsKey.a)

alPresionarTeclaA();

else if (scratchChar == OsKey.b)

alPresionarTeclaB();

}

void alPresionarTeclaFlechaDerecha() {

//Insertar aquí el código en respuesta al evento

}

void alPresionarTeclaFlechaIzquierda() {

//Insertar aquí el código en respuesta al evento

}

void alPresionarTeclaA() {

//Insertar aquí el código en respuesta al evento

}

void alPresionarTeclaB() {

//Insertar aquí el código en respuesta al evento

}

Opción 2

public void alPresionarTecla(int scratchChar) {

// En esta plantilla se procesan las teclas flecha_derecha,

// Flecha_izquierda, a y b.

// El código de usuario se implementa en funciones

// independientes.

// Editar para procesar las teclas deseadas.

if (scratchChar == OsKey.flecha_derecha ) {

//Insertar aquí el código en respuesta al evento

} else if (scratchChar == OsKey.flecha_izquierda)

//Insertar aquí el código en respuesta al evento

} else if (scratchChar == OsKey.a)

//Insertar aquí el código en respuesta al evento

} else if (scratchChar == OsKey.b)

//Insertar aquí el código en respuesta al evento

}

}

Código para Processing

Ejemplo alRecibir en Scratch

Opción 1

public void alRecibir(String msg) {

// En esta plantilla se procesan los mensajes mensaje1,

// mensaje2 y mensaje3.

// El código de usuario se implementa en funciones

// independientes.

// Editar para procesar los mensajes deseados.

if (igual(msg,"mensaje1"))

alRecibirMensaje1();

else if (igual(msg,"mensaje2"))

alRecibirMensaje2();

else if (igual(msg,"mensaje3"))

alRecibirMensaje3();

}

void alRecibirMesnaje1() {

//Insertar aquí el código en respuesta al evento

}

void alRecibirMensaje2() {

//Insertar aquí el código en respuesta al evento

}

void alRecibirMensaje3() {

//Insertar aquí el código en respuesta al evento

}

Opción 2

public void alRecibir(String msg) {

// En esta plantilla se procesan los mensajes mensaje1,

// mensaje2 y mensaje3.

// El código de usuario se implementa en funciones

// independientes.

// Editar para procesar los mensajes deseados.

if (igual(msg,"mensaje1")) {

//Insertar aquí el código en respuesta al evento

} else if (igual(msg,"mensaje2"))

//Insertar aquí el código en respuesta al evento

} else if (igual(msg,"mensaje3"))

//Insertar aquí el código en respuesta al evento

}

}

Código para Processing

Ejemplo multiple evento en Scratch

public void alPresionarBandera() {

enviarAtodos("bandera1");

enviarAtodos("bandera2");

}

public void alRecibir(String msg) {

if (igual(msg,"bandera1"))

alRecibirBandera1();

else if (igual(msg,"bandera2"))

alRecibirBandera2();

}

void alRecibirBandera1() {

mover(10);

}

void alRecibirBandera2() {

decir("¡Hola!");

}