Referencia
Índice
Clase OsGame (entorno de juego)
Clase OsStage (escenario)
Clase OsSprite (actor)
Interfaz Oskey (teclas disponibles en Scratch)
Trucos avanzados
Clase OsGame
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
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
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!");
}