Vous êtes sur la page 1sur 49

Instituto Tecnolgico Superior

Cordillera





1. Datos
informati
vos:

Carrera/s Nivel
Anlisis de Sistemas 2

Autor:
Tecnolgico Vida
Nuevahttp://www.cordillera.edu.ec/




tito_morales2@yahoo.es
1







DESARROLLO DE
VIDEOJUEGOS

16 HORAS


Ing. Roberto Morales
2. ndice
1. Datos informativos: ........................................................................................ 1
2. ndice ............................................................................................................. 2
3. Introduccin ................................................................................................... 5
4. Prerrequisitos ................................................................................................ 5
5. Evaluacin inicial ........................................................................................... 5
6. Orientaciones generales para el estudio ....................................................... 6
7. Desarrollo de contenidos ............................................................................... 7
I. Unidad: Desarrollo de Videojuegos ................................................................ 7
Objetivos ............................................................................................................ 7
Contenidos ......................................................................................................... 7
1.1. Introduccin a los videojuegos ......................................................... 7
1.2. Historia de los videojuegos .............................................................. 7
1970-1979: La eclosin de los videojuegos ......................................... 8
1980-1989: La dcada de los 8 bits ..................................................... 9
1990-1999: La revolucin de las 3D .................................................. 12
Desde el 2000: El comienzo del nuevo siglo ..................................... 13
DEFINICIN Y ACTUALIDAD ........................................................... 14
1.3. Revisin del IDE de desarrollo ....................................................... 14
IDE de Programacin: ........................................................................ 14
Caractersticas ................................................................................... 14
Componentes .................................................................................... 15
Ejemplos de IDEs.............................................................................. 15
1.4. Mtodos KEYPRESSED ................................................................. 16
getKeyChar (): ................................................................................... 16
KeyAdapter ........................................................................................ 16
KeyPressed (): ................................................................................... 16
Ejemplo: ............................................................................................. 16


1.5. Funciones de sonido ...................................................................... 19
Introduccin ....................................................................................... 19
Clases principales .............................................................................. 20
Formatos de audio .......................................................................... 20
Arquitectura de los sistemas ........................................................ 21
Mixers ............................................................................................. 21
Lines ............................................................................................... 22
Clases DataLine ............................................................................. 23
Acceso a los componentes del sistema ............................................. 24
Obtencin de los recursos .............................................................. 26
Reproduccin de sonido .................................................................... 26
Reproduccin del sonido mediante SourceDataLine...................... 27
Sincronizacin de lneas ................................................................ 28
Captura de sonido .......................................................................... 28
Procesado de la seal .................................................................... 29
1.6. Manejo de estructuras ................................................................... 30
Antecedentes ..................................................................................... 30
Tipos de estructura de control ........................................................... 31
Antecedentes ................................................................................. 31
Ejecucin secuencial ...................................................................... 31
Transferencia de control ................................................................. 31
De seleccin ................................................................................... 31
Estructura de control ...................................................................... 31
Seleccin if simple ...................................................................... 31
Select-Case ................................................................................ 32
Estructuras de control iterativas ..................................................... 33
Do-While ..................................................................................... 33
Do-Until ....................................................................................... 33
For-Next ...................................................................................... 34
Estructuras anidadas .................................................................. 34
Estructura For-Next dentro de una estructura If-Then-Else ............................. 34
Estructura If-Then-Else dentro de estructura For-Next .................................... 34
Estructura For-Next que est dentro de estructura Do-While .......................... 35
1.7. Generacin de interfaz grfica ....................................................... 35


Estrategias de enseanza aprendizaje ......................................................... 36
Recursos .......................................................................................................... 37
8. Evaluacin final............................................................................................ 37
Evaluacin Terica ........................................................................................... 37
Evaluacin Prctica .......................................................................................... 43
9. Bibliografa ................................................................................................... 43
10. Anexos ....................................................................................................... 43
Anexo 1 (Ejercicio if-.else) ............................................................................... 43
Lectura Reflexiva ............................................................................................. 44
EL TREN DE LA VIDA ........................................................................... 44
11. Glosario ..................................................................................................... 45
General ............................................................................................................ 45


Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 5

Introduccin

3. Introduccin
La capacidad evolutiva del hombre ha hecho que cada vez vaya desarrollando
una herramienta que le permita distraer su mente en algo nuevo y diferente,
algo que lo saque de la rutina del diario vivir, determinando y a su vez creando,
una forma de convivencia social ha sido el desglose de nuevos programas que
permiten encontrar en los juegos distraccin total o parcial de su vida cotidiana.
4. Prerrequisitos
Tener conocimientos de Programacin Lineal y Programacin Orientada a
Objetos.
5. Evaluacin inicial

INSTITUTO TECNOLGICO CORDILLERA

EVALUACIN INICIAL DESARROLLO DE JUEGOS

Nombre: ________________________________
Escuela: Anlisis de Sistemas
Docente: ________________________________
Nivel: SEGUNDO
Jornada: ____________________
Fecha: _________________
Calificacin:___________
Recomendaciones: Lea detenidamente cada una de las preguntas antes de
contestarlas, se recomienda tambin iniciar por las preguntas de menos
complejidad.
1. Qu Conoce de los videojuegos?
__________________________________________________________
__________________________________________________________
__________________________________________________________
2. Qu es una Estructura de Control?
__________________________________________________________
__________________________________________________________
__________________________________________________________


3. De un criterio personal de la evolucin de los videojuegos
__________________________________________________________
Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 6

__________________________________________________________
__________________________________________________________
__________________________________________________________
Orientaciones generales para el estudio

__________________________________________________________
__________________________________________________________
4. Qu programas conoce Ud. que permita desarrollar videojuegos?
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________







FIRMA DEL ESTUDIANTE FIRMA DEL DOCENTE

6. Orientaciones generales para el estudio
Procure combinar el estudio terico con la prctica tanto como sea posible,
poniendo inmediatamente en prctica los temas tratados; es recomendable
por tanto estudiar con el mdulo de instruccin y una computadora
simultneamente.
Si por alguna razn no comprende un tema, o le es difcil conseguir los
resultados planteados; intntelo nuevamente y/o pregunte al docente cmo
resolver el problema; esto asegurar que no queden vacos en su proceso
de aprendizaje.
Destine por lo menos 30 minutos al da para practicar, experimente con
nuevas maneras de utilizar las herramientas de programacin que se estn
estudiando y que le resulten nuevas; recuerde que adems puede utilizar
las ayudas de cada lenguaje para ilustrarse, por lo que usted puede elevar
su nivel de aprendizaje por cuenta propia.


Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 7

7. Desarrollo de contenidos
I. Unidad: Desarrollo de Videojuegos
Objetivos
Aplicar el conocimiento de las ciencias de la computacin para
desarrollar soluciones informticas con estndares de calidad.
Aplicar metodologas de anlisis y diseo de sistemas para la resolucin
de problemas.
Aplicar su conocimiento en forma autnoma, innovadora y con
conciencia deontolgica en la bsqueda de soluciones informticas.
Contenidos
1.1. Introduccin a los videojuegos
Los videojuegos son oficialmente desde el ao 2009 una Industria Cultural
reconocida en Espaa por el congreso y es el entretenimiento de mayor
volumen de negocio superando al cine y a la msica con 822 millones de
euros de facturacin anual en Espaa en 2012.
Actualmente el boom de las apps y los juegos para las diferentes
plataformas de sobremesa, web y mviles supone una enorme oportunidad
y fuente de creacin de puestos de trabajo, en una industria que demanda
profesionales de muy diversos perfiles.
La falta de formacin reglada en el sector de los videojuegos hace
necesario una formacin especializada por parte de los futuros
profesionales para poder introducirse en una industria cada vez ms
competitiva pero que no para de crecer y evolucionar.

1.2. Historia de los videojuegos
1

Durante bastante tiempo ha sido complicado
sealar cual fue el primer
videojuego, principalmente debido a las
mltiples definiciones de este que se han ido
estableciendo, pero se puede considerar como
primer videojuego el Nought and crosses,
tambin llamado OXO, desarrollado por
Alexander S.Douglas en 1952. El juego era una
versin computerizada del tres en raya que se
ejecutaba sobre la EDSAC y
permita enfrentar a un jugador humano contra la mquina.

1
(http://www.fib.upc.edu)
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 8

En 1958 William Higginbotham cre, sirvindose de un
programa para el clculo de trayectorias y un
osciloscopio, Tennis for Two (tenis para dos): un
simulador de tenis de mesa para entretenimiento de los
visitantes de la exposicin Brookhaven National
Laboratory.

Este videojuego fue el primero en permitir el juego entre dos jugadores
humanos. Cuatro aos ms tarde Steve Russell, un estudiante del
Instituto de Tecnologa de Massachussets, dedic seis meses a crear un
juego para computadora usando grficos vectoriales: Spacewar.

En este juego, dos jugadores controlaban la direccin y la velocidad de
dos naves espaciales que luchaban entre ellas. El videojuego
funcionaba sobre un PDP-1 y fue el primero en tener un cierto xito,
aunque apenas fue conocido fuera del mbito universitario.
En 1966 Ralph Baer empez a desarrollar junto a Albert Maricon y Ted
Dabney, un proyecto de videojuego llamado Fox and Hounds dando
inicio al videojuego domstico. Este proyecto evolucionara hasta
convertirse en la Magnavox Odyssey, el primer sistema domstico de
videojuegos lanzado en 1972 que se conectaba a la televisin y que
permita jugar a varios juegos pregrabados.


1970-1979: La eclosin de los videojuegos
Un hito importante en el inicio de los videojuegos tuvo
lugar en 1971 cuando Nolan Bushnell comenz a
comercializar Computer Space, una versin de Space
War, aunque otra versin recreativa de Space War como
fue Galaxy War puede que se le adelantara a principios
de los 70 en el campus de la universidad de Standford.
La ascensin de los videojuegos lleg con la mquina
recreativa Pong que es considerada la versin comercial
Unidad: Desarrollo de Videojuegos
Desarrollo de contenidos
Tecnolgico Superior Cordillera Pgina 9


del juego Tennis for Two de Higginbotham. El sistema fue diseado por
Al Alcom para Nolan Bushnell en la recin fundada Atari.
El juego se present en 1972 y fue la piedra angular del videojuego
como industria. Durante los aos siguientes se implantaron numerosos
avances tcnicos en los videojuegos (destacando los microprocesadores
y los chips de memoria). Aparecieron en los salones recreativos juegos
como Space Invaders (Taito) o Asteroids (Atari).
1980-1989: La dcada de los 8 bits
Los aos 80 comenzaron con un
fuerte crecimiento en el sector del
videojuego alentado por la
popularidad de los salones
de mquinas recreativas
y de las primeras
videoconsolas aparecidas durante la
dcada de los 70.
Durante estos aos destacan
sistemas como Oddyssey 2 (Phillips),
Intellivision (Mattel),
Colecovision (Coleco), Atari 5200, Commodore 64, Turbografx
(NEC). Por otro lado en las mquinas recreativas triunfaron juegos como
el famoso Pacman (Namco), Battle Zone (Atari), Pole Position (Namco),
Tron (Midway) o Zaxxon
(Sega).
El negocio asociado a
esta nueva
industria alcanz
grandes cosas en estos
primeros aos de los 80,
pero sin embargo, en
1983 comenz
la llamada crisis
del videojuego,
afectando
principalmente a Estados
Unidos y Canad, y que
no llegara a su fin hasta 1985.

Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 10

Japn apost por el mundo de las consolas con el xito de la Famicom
(llamada en occidente como Nintendo Entertainment System), lanzada
por Nintendo en 1983 mientras en Europa se decantaba por los
microordenadores como el Commodore 64 o el Spectrum.
A la salida de su particular crisis los norteamericanos continuaron la
senda abierta por los japoneses y adoptaron la NES como principal
sistema de videojuegos. A lo
largo de la dcada fueron
apareciendo nuevos sistemas
domsticos como la Master
System (Sega), el Amiga
(Commodore) y el 7800 (Atari)
con juegos hoy en da
considerados clsicos como el
Tetris.
A finales de los 80 comenzaron
a aparecer las consolas de 16
bits como la Mega Drive de
Sega y los microordenadores
fueron lentamente sustituidos por las computadoras personales basadas en
arquitecturas de IBM.
En 1985 apareci Super Mario Bros, que supuso un
punto de inflexin en el desarrollo de los juegos
electrnicos, ya que la mayora de los juegos
anteriores slo contenan unas pocas pantallas que se
repetan en un bucle y el objetivo simplemente era
hacer una alta puntuacin. El juego desarrollado por
Nintendo supuso un estallido de creatividad. Por
primera vez tenamos un objetivo y un final en un
videojuego. En los aos posteriores otras compaas emularon su estilo de
juego.
En el campo de las recreativas, destacaron
videojuegos como Defender, Rally-X, Dig Dug,
Bubble Bobble, Gauntlet, Out Run o Shinobi adems
de producirse un cambio en cuanto a la nacionalidad
de los juegos pasando a ser Japn la mayor
productora.
Otra rama de los videojuegos que creci con fuerza
fue la de los videojuegos porttiles. Estos
comenzaron a principios de los 70 con los primeros
juegos completamente electrnicos lanzados por
Mattel, los cuales difcilmente podan considerarse
Desarrollo de contenidos
Tecnolgico Superior Cordillera Pgina 11

como videojuegos, y fueron creciendo en popularidad gracias a conversiones
de recreativas como las realizadas por Coleco o adictivos microjuegos como
las Game & Watch de Nintendo. La evolucin definitiva de las porttiles
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 12

Unidad: Desarrollo de Videojuegos

como plataformas de videojuego lleg en 1989 con el lanzamiento de la
Game Boy (Nintendo).
1990-1999: La revolucin de las 3D
A principios de los aos 90 las videoconsolas dieron un importante salto
tcnico gracias a la competicin de la llamada "generacin de 16 bits"
compuesta por la Mega Drive, la Super Nintendo Entertainmet de Nintendo,
la PC Engine de NEC, conocida como Turbografx en occidente y la CPS
Changer de (Capcom).
Junto a ellas tambin apareci la Neo Geo (SNK) una consola que igualaba
las prestaciones tcnicas de un arcade pero demasiado cara para llegar de
forma masiva a los hogares.
Esta generacin supuso un importante aumento en la cantidad de jugadores
y la introduccin de tecnologas como el CD-ROM, una importante evolucin
dentro de los diferentes gneros de videojuegos, principalmente gracias a
las nuevas capacidades tcnicas.
Mientras tanto diversas compaas haban comenzado a trabajar en
videojuegos con entornos tridimensionales, principalmente en el campo de
los PC, obteniendo diferentes resultados desde las 2D y media de Doom,
3D completas de 4D Boxing a las 3D sobre entornos pre-renderizados de
Alone in Dark. Referente a las ya antiguas consolas de 16 bits, su mayor y
ltimo logro se producira por el SNES mediante la tecnologa 3-D de
prerenderizados de SGI, siendo su mxima expresin juegos como Donkey
Kong Country y Killer Instinct. Tambin surgi el primero juego poligonal en
consola, la competencia de la SNES, Mega-Drive, lanz el Virtual Racing,
que tuvo un gran xito ya que marc un antes y un despus en los juegos
3D en consola.
Rpidamente los videojuegos en 3D fueron ocupando un importante lugar
en el mercado, principalmente gracias a la llamada "generacin de 32 bits"
en las videoconsolas: Sony PlayStation y Sega Saturn (principalmente en
Japn); y la generacin de 64 bits en las videoconsolas: Nintendo 64 y
Atari jaguar. En cuanto a los ordenadores, se crearon las aceleradoras 3D.
La consola de Sony apareci tras un proyecto iniciado con Nintendo
(denominado SNES PlayStation), que consista en un perifrico para SNES
con lector de CD. Al final Nintendo rechaz la propuesta de Sony, puesto
que Sega haba desarrollado algo parecido sin tener xito, y Sony lanz
independientemente PlayStation.
Por su parte los arcades comenzaron un lento pero imparable declive segn
aumentaba el acceso a consolas y ordenadores ms potentes.
Desarrollo de contenidos
Tecnolgico Superior Cordillera Pgina 13

Por su parte los videojuegos porttiles, producto de las nuevas tecnologas
ms poderosas, comenzaron su verdadero auge, unindose a la Game Boy
mquinas como la Game Gear (Sega), Linx (Atari) o la Neo Geo Pocket
(SNK), aunque ninguna pudo hacerle frente a la popularidad de la Game
Boy, siendo esta y sus descendientes (Game Boy Pocket, Game Boy Color,
Game Boy Advance, Game Boy Advance SP) las dominadoras del
mercado.
Hacia finales de la dcada la consola ms popular era la PlayStation con
juegos como Final Fantasy VII (Square), Resident Evil (Capcom), Winning
Eleven 4 (Konami), Gran Turismo (Polyphony Digital) y Metal Gear Solid
(konami).
En PC eran muy populares los FPS (juegos de accin en primera persona)
como Quake (id Softare), Unreal (Epic Megagames) o Half-Life (Valve), y
los RTS (juegos de estrategia en tiempo real) como Command & Conquer
(Westwood) o Starcraft (Blizzard). Adems, conexiones entre ordenadores
mediante internet facilitaron el juego multijugador, convirtindolo en la
opcin predilecta de muchos jugadores, y fueron las responsables del
nacimiento de los MMORPG (juegos de rol multijugador online) como Ultima
Online (Origin). Finalmente en 1998 apareci en Japn la Dreamcast (Sega)
y dara comienzo a la generacin de los 128 bits.
Desde el 2000: El comienzo del nuevo siglo
En el 2000 Sony lanz la anticipada PlayStation 2 y Sega lanz otra consola
con las mismas caractersticas tcnicas de la Dreamcast, nada ms que
venia con un monitor de 14 pulgadas, un teclado, altavoces y los mismos
mandos llamados Dreamcast Drivers 2000 Series CX-1.
Microsoft entra en la industria de las consolas creando la Xbox en 2001.
Nintendo lanz el sucesor de la Nintendo 64, la Gamecube, y la primera
Game Boy completamente nueva desde la creacin de la compaa, la
Game Boy Advance. Sega viendo que no podra competir, especialmente
con una nueva mquina como la de Sony, anunci que ya no producira
hardware, convirtindose slo en desarrolladora de software en 2002.
El ordenador personal PC es la plataforma ms cara de juegos pero
tambin la que permite mayor flexibilidad. Esta flexibilidad proviene del
hecho de poder aadir al ordenador componentes que se pueden mejorar
constantemente, como son tarjetas grficas o de sonido y accesorios como
volantes, pedales y mandos, etc. Adems es posible actualizar los juegos
con parches oficiales o con nuevos aadidos realizados por la compaa
que cre el juego o por otros usuarios.
Unidad: Desarrollo de Videojuegos

Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 14

DEFINICIN Y ACTUALIDAD
La definicin de videojuego segn el diccionario de la real academia de la
lengua espaola es: "Dispositivo electrnico que permite, mediante mandos
apropiados, simular juegos en las pantallas de un televisor o de un
ordenador. "Pero un videojuego es mucho ms que eso, es una de las
principales actividades o hobbies que hoy en da la mayora de jvenes
realiza. La industria de los videojuegos es una industria que genera ms
ingresos y ganancias que otras industrias, como la industria del cine, la
industria de la msica entre otras.
En la actualidad podemos ejecutar un videojuego en diversas plataformas
como un dispositivo porttil, una consola de sobremesa, una maquina
arcade o un ordenador. Estas plataformas han ido evolucionando a travs
de los tiempos, las cuales se han dividido por generaciones la generacin
actual es la sptima generacin y la octava generacin de consolas de
videojuegos se encuentra en desarrollo.
1.3. Revisin del IDE de desarrollo
2

IDE de Programacin:
Un IDE es un entorno de programacin que ha sido empaquetado como un
programa de aplicacin, o sea, consiste en un editor de cdigo, un
compilador, un depurador y un constructor de interfaz grfica. Los IDEs
pueden ser aplicaciones por s solas o pueden ser parte de aplicaciones
existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro
de las aplicaciones de Microsoft Office, lo que hace posible escribir
sentencias Visual Basic en forma de macros para Microsoft Word.
Caractersticas
Los IDE ofrecen un marco de trabajo amigable para la mayora de los
lenguajes de programacin tales como C++, Python, Java, C#, Delphi,
Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un
sistema en tiempo de ejecucin, en donde se permite utilizar el lenguaje de
programacin en forma interactiva, sin necesidad de trabajo orientado a
archivos de texto, como es el caso de Smalltalk u Objective-C.
Es posible que un mismo IDE pueda funcionar con varios lenguajes de
programacin. Este es el caso de Eclipse, al que mediante plugins se le
puede aadir soporte de lenguajes adicionales.
Un IDE debe tener las siguientes caractersticas:
- Multiplataforma
- Soporte para diversos lenguajes de programacin
- Integracin con Sistemas de Control de Versiones
- Reconocimiento de Sintaxis

2
(http://www.ecured.cu/)
Desarrollo de contenidos
Tecnolgico Superior Cordillera Pgina 15

- Extensiones y Componentes para el IDE
- Integracin con Framework populares
- Depurador
- Importar y Exportar proyectos
- Mltiples idiomas
- Manual de Usuarios y Ayuda
Componentes
- Editor de texto.
- Compilador.
- Intrprete.
- Herramientas de automatizacin.
- Depurador.
- Posibilidad de ofrecer un sistema de control de versiones.
- Factibilidad para ayudar en la construccin de interfaces grficas de
usuarios.
Ejemplos de IDEs
Eclipse: Entorno de desarrollo integrado de cdigo abierto multiplataforma
para desarrollar proyectos. Esta plataforma ha sido
usada para desarrollar entornos de desarrollo
integrados, como el IDE de Java llamado Java
Development Toolkit (JDT) y el compilador (ECJ)
que se entrega como parte de Eclipse (y que son
usados tambin para desarrollar el mismo Eclipse).
Tambin se puede usar para otros tipos de
aplicaciones cliente, como BitTorrent o Azureus. En Eclipse se pueden usar
diferentes lenguajes de programacin como: Java, ANCI C, C++, JSP, sh, perl,
php, sed.
NetBeans: Programa que sirve como IDE que permite
programar en distintos lenguajes, es ideal para
trabajar con el lenguaje de desarrollo JAVA (y todos
sus derivados), adems ofrece un excelente entorno
para programar en PHP. Tambin se puede descargar
una vez instalado NetBeans, los complementos para
programar en C++. La IDE de NetBeans es perfecta y
muy comoda para los programadores. Tiene un
excelente balance entre
una interfaz con mltiples opciones y un
aceptable completamiento de cdigo.
Geany: Es un IDE que hasta hace bien poquito
slo estaba disponible para sistemas Linux,
Mac OS X y BSD, pero ya est disponible para
Windows. Este entorno es muy sencillo, pero
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 16

proporciona las funcionalidades necesarias para desarrollar aplicaciones sin
problemas. Su interfaz est dividida en tres zonas: panel lateral con el rbol de
carpetas y documentos abiertos, seccin principal para el cdigo y panel
inferior para los mensajes de la aplicacin, compilacin, etc. Este IDE permite
programar en diferentes lenguajes como: C, C++, Java, Python, Pascal, SQL o
HTML
CodeRun: Es un IDE que te permitir programar en lnea varios lenguajes,
entre ellos PHP, Ajax, C#, CSS, JavaScript y HTML.
Funciona perfectamente, aunque est en ingls, es til
para quin no disponga de un buen editor a mano.
1.4. Mtodos KEYPRESSED
3

Para leer del teclado es necesario registrar un objeto que se encargue de
"escuchar si una tecla es presionada". Este objeto conocido como "Listener" u
"oyente" y tendr mtodos que sern llamados cuando alguien presione una
tecla. En nuestro ejemplo el Listener se registra en el JPanel (o
KeyboardExample) usando el mtodo addKeyListener(KeyListener listener).
getKeyChar ():
Este es el mtodo de la clase KeyEvent que determina el carcter que ha sido
ingresada por usted. Este mtodo devuelve el carcter asociado al KeyEvent.
KeyAdapter
Esta es la clase se utiliza para recibir los eventos de teclado. Crea los objetos
utilizando el keyListener addKeyListener () mtodo. El evento se genera pasa a
todos los objetos KeyListener que recibe ese tipo de eventos con el
addKeyListener () del objeto.
KeyPressed ():
Este mtodo se ha utilizado en el programa que recibe el evento se genera
cuando se pulsa una tecla para el objeto. Por encima de mtodo tambin
establece el texto de la fuente del caso a la etiqueta.
Ejemplo:

Como manejar eventos de teclado para mover un objeto en tiempo de
ejecucin.
En presente ejemplo les mostrar cmo mover un jLabel dentro de un jFrame.
Para comenzar les muestro el aspecto que tendr la interfaz grfica.


3
(http://cucutaloco.wikispaces.com)
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 17


Para este ejemplo la letra O se encuentra en un objeto jLabel de nombre
jLabel1.
Si estamos utilizando las interfaces grficas debemos manejar los eventos de
la siguiente manera:

Dependiendo del evento que necesitemos manejar podramos seleccionar uno
del listado de eventos que nos facilita Netbeans.
Para utilizar los eventos debemos presionar el botn derecho del mouse y
seguir la ruta que se muestra en la captura de pantalla de arriba.
Eventos
- Key
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 18

- Keypressed
Definicin de las coordenadas iniciales del objeto.
Inicialmente despus del cdigo de creacin del jFrame debemos definir 2
variables para manipular las coordenadas.
int x=350,y=350;
En este caso se est indicando de manera inicial que las posiciones de x e y
sern 350 para ambas variables.
Modificacin del constructor.
Se codific tambin el constructor despus de cdigo que inicializa los
componentes(initcomponents).
jLabel1.setLocation(x, y);
Lo que hace esta lnea es asignarle la posicin en la que inicializar nuestro
objeto.
Manipulacin del eventos KeyPressed.
Posteriormente se codificar el evento Keypressed del JFrame, y se incluir el
siguiente cdigo.
if(evt.getKeyCode()==37)
{
x=x-10; jLabel1.setLocation(x,y);
}
else if(evt.getKeyCode()==38)
{
y=y-10; jLabel1.setLocation(x,y);
}
else if(evt.getKeyCode()==39)
{
x=x+10; jLabel1.setLocation(x,y);
Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 19

Desarrollo de contenidos

}
else if(evt.getKeyCode()==40)
{
y=y+10; jLabel1.setLocation(x,y);
}
Se utiliza evt.getKeyCode para capturar la tecla presionada, en este ejemplo se
utilizaron los siguientes cdigos:

- 37 Para la fecha a la izquierda
- 38 Fecha hacia arriba
- 39 Flecha a la derecha
- 40 Fecha hacia abajo

1.5. Funciones de sonido
Introduccin
El API de Java dedicada al sonido es la llamada Java Sound API
proporcionado ya con el entorno de desarrollo de Sun. Este API se
compone de 4 packages (paquetes):
javax.sound.sampled.
javax.sound.sampled.spi.
javax.sound.midi.
javax.sound.midi.spi.
El primero, javax.sound.sampled, contiene las clases necesarias para el
manejo del sonido muestreado, esto incluye la captura, la mezcla y la
reproduccin de audio, proporcionando adems algn control y efecto
sobre el sonido as como interfaces para el almacenamiento, ser el
package estudiado en este documento. El package javax.sound.midi
proporciona las interfaces de sntesis, secuenciamiento y transporte
MIDI. Los packages javax.sound.sampled.spi y javax.sound.midi.spi
proporcionan una interfaz para los desarrolladores de servicios basados
en las interfaces anteriores.
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 20

Clases principales.
Como paso previo es necesario contar cmo funcionan algunos de los
objetos de javax.sound.sampled necesarios para comprender despus
cada uno de los procedimientos a seguir.
Formatos de audio.
4

Los objetos de la clase AudioFormat definen el formato de una seal de
audio, esto es, el nmero de canales, el nmero de bits por muestra,
frecuencia de muestreo, el tamao de la trama de voz y su frecuencia,
formato de almacenamiento de los datos en memoria (big endian o little
endian) y el tipo de codificacin (ley a, ley m, PCM). Para guardar el tipo
de codificacin hay un objeto de la clase AudioFormat.Encoding con
esta informacin. Obteniendo este objeto se puede mirar si es igual
(funcin boolean equals(Object) ) a una de las constantes definidas en la
clase
AudioFormat.Encoding (ALAW, ULAW, PCM_SIGNED,
PCM_UNSIGNED). La clase AudioFormat, aparte del constructor (al que
hay que pasarle los parmetros para la iniciacin de las variables), tiene
los siguientes mtodos:

int getChanels(); /* Devuelve el nmero de canales.
*/ AudioFormat.Encoding getEncoding(); /* Devuelve objeto con informacin
sobre el tipo de codificacin. */
float getFrameRate(); /* Devuelve la frecuencia de trama de la seal.
*/
int getFrameSize(); /* Devuelve tamao de la trama en bytes. */ float
getSampleRate(); /* Devuelve la frecuencia de muestreo. */ int
getSampleSizeInBits(); /* Devuelve el tamao en bits de cada
muestra de sonido. */ boolean isBigEndian();
/* Devuelve true alineamiento big endian y
false little endian. */
Adems de los mtodos boolean maches(AudioFormat) y String toString() y los
heredados de la clase Object.
Por otro lado existe la clase AudioFileFormat para definir el formato de un
fichero de audio, esta clase permite utilizar las clases AudioImputStream y
AudioOutputStream, que heredan de ImputStream y OutputStream
respectivamente, permitiendo usar los mtodos estndar para la lectura y


4
(http://cprades.eresmas.com)
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 21

escritura del audio en ficheros. El funcionamiento de estas clases se escapa al
mbito de este documento.
Arquitectura de los sistemas.
La arquitectura de los sistemas de audio de audio se basa en mezcladores,
clase Mixer, que son dispositivos a los que llegan lneas, objetos de clase Line,
procesan los datos y salen otros objetos de clase Line.
La jerarqua de estas clases es la siguiente:
Object
Line
Port
Mixer
DataLine
SourceDataLine
TargetDataLine
Clip
Mixers
Como se puede ver los Mixer (mezcladores) son unos casos particulares de los
Lines. Estos Mixer son dispositivos hardware o software por lo que pueden ser
proporcionados por el sistema. Los objetos Mixer contienen un objeto de la
clase Mixer.Info con informacin del tipo de Mixer. Los mtodos de la clase
Mixer son los siguientes:
Line getLine(Line.Info);

/* Obtiene, si exixte, un Line del tipo indicado
en el parmetro. */
int getMaxLines(Line.Info);

/* Indica el numero de lineas que se pueden
tener de un tipo dado. */
Mixer.Info getMixerInfo();

/* Obtiene el objeto que indica el tipo de
Mixer que es. */
Line.Info [] getSourceLineInfo();

/* Obtiene array con informacin de los
SourceLines disponibles. */
Line.Info [] getSourceLineInfo(Line.Info);

/* Array con informacin de los
SourceLines de un tipo. */
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 22

Line [] getSourceLines(); /* Obtiene array con los SouceLines
disponibles. */
Line.Info [] getTargetLineInfo(); /* Obtiene array con informacin de
los TargetLines disponibles. */ Line.Info []
getTargetLineInfo(Line.Info); /* Array con informacin de
los TargetLines de un tipo. */ Line [] getTargetLines();
/* Obtiene array con los TargetLines
disponibles. */ boolean
isLineSupported(Line.Info); /* Devuelve true si tiene un Line
del tipo especificado. */ boolean
isSincronizationSupported( Line[], boolean);
/* Devuelve true si se soporta
sincronizacin entre las lineas especificadas en el primer parmetro, el
segundo parmetro indica el tipo de sincronizacin: muestra a muestra si es
Lines
Un Line (lnea) es una conexin por la que pasa la seal desde o hacia un
Mixer. Los tipos de Lines son los siguientes:
Port: Puertos de entrada o salida del sistema como el micrfono, la salida de
lnea, el altavoz, etc.
DataLine: Lneas de datos, pueden ser Clips que almacenan un sonido
completo, SourceDataLine que proporcionan un buffer de entrada a un Mixer y
TargetDataLine que proporcionan el buffer de salida de un Mixer.
Mixer: Mezclador que representa un dispositivo hardware o software del
sistema.
Los Lines proporcionan cierta funcionalidad al sistema por medio de objetos
Control que incluyan capaces de variar alguna caracterstica del sonido
(ganancia, reverberacin, etc.), del estado (el Status) que puede ser abierto y
cerrado (Open y Closed) de tal manera que si el Line est cerrado no consume
recursos del sistema y por ltimo por medio de los objetos Event (eventos)
lanzados que permiten comunicacin y sincronizacin con otros objetos.
Como ya veremos los objetos Line tienen un objeto (de clase Line.Info) de
informacin sobre ellos. Como ocurre con la mayor parte de los atributos y
mtodos, el objeto de informacin se redefine en los objetos que lo heredan
siendo de tipo Mixer.Info, Port.Info, etc. en cada uno de los casos.
Desarrollo de contenidos
Tecnolgico Superior Cordillera Pgina 23

Unidad: Desarrollo de Videojuegos

Los mtodos de la clase Line son:
void addLineListener( LineListener);



/* Especifica un objeto al que se le
envan los Event generados. */
void close();



/* Cierra (pasa a Status Closed)
el objeto Line. */
Control getControl( Control.Type);



/* Devuelve un objeto Control del tipo
especificado. */
Control [] getControls();



/* Devuelve un array con los objetos
Control disponibles. */
Line.Info getLineInfo(); /*Devuelve informacin del objeto. */
boolean isControlSupported(Control.Type);



/* Devuelve true si soporta el tipo
de Control especificado. */
boolean isOpen(); /* Devuelve true si el Status es Open. */
void open();



/* Abre (pasa a Status Open) el objeto
Line. */
void removeLineListener(LineListener);



/* Deja de enviar objetos Event al
LineListener especificado. */
Clases DataLine
La los objetos de la clase DataLine son las conexiones entre los Mixer y
nuestro sistema. Estos objetos tienen un buffer de datos, un proceso de control
interno, y una interfaz con el usuario. Como es lgico heredan todos los
Mtodos de la clase Line pero adems implementan los siguientes:
int available();

/* Indica el nmero de bytes que que estn libres
en el buffer interno. */
void drain();

/* Este mtodo sirve bloquea el objeto hasta que
quede limpio el buffer. */
void flush(); /* Este metodo limpia el buffer. */
int getBufferSize(); /* Devuelve el tamao del buffer en bytes. */
AudioFormat getFormat();

/* Devuelve el formato del audio.
manejado. */
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 24

int getFramePosition(); /* Devuelve la posicin de la trama. */
float getLevel(); /* Devuelve el nivel de la seal. */
long getMicrosecondPosition();

/* Obtiene la posicin actual de los datos de
audio en microsegundos. */
boolean isActive();

/* Devuelve true si estan pasando datos (ejecutado
el comando start) */
boolean isRunning(); /* Devuelve true si est abierto. */
void start(); /* Comienza la reproduccin. */
void stop(); /* Termina la reproduccin. */
Acceso a los componentes del sistema
Para acceder a los componentes del sistema la clase AudioSystem proporciona
a la aplicacin un punto de entrada a los componentes instalados en el
sistema. Se puede obtener informacin de los objetos Mixer instalados y
objetos Line (sin tener que especificar el Mixer al que estn asociados),
proporciona mtodos para realizar las conversiones de formato y mtodos para
trasladar el sonido a objetos Stream o File para el transporte, comunicacin o
almacenamiento. Los mtodos accesibles de esta clase son:
static AudioFileFormat getAudioFileFormat(java.io.File); static
AudioFileFormat getAudioFileFormat(java.io.InputStream);
static AudioFileFormat getAudioFileFormat(java.net.URL);
/* Devuelven un objeto con el formato del fichero especificado en el parmetro.
*/ static AudioFileFormat.Type[] getAudioFileTypes(); static AudioFileFormat.Type[]
getAudioFileTypes(AudioInputStream);
/* Devuelve los tipos de ficheros soportados por el sistema (sin parmetro) o
por el parmetro. */
static AudioInputStream getAudioInputStream(AudioFormat, AudioInputStream ); static
AudioInputStream getAudioInputStream(AudioFormat.Encoding, AudioInputStream);
/* Devuelve un AudioImputStream
*/ static AudioInputStream getAudioInputStream(java.io.File); static
AudioInputStream getAudioInputStream(java.io.InputStream); static
AudioInputStream getAudioInputStream(java.net.URL); /* Devuelve un
AudioInputStream asuciado a un fichero static Line getLine(Line.Info);

Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 25

/* Obtiene un objeto Line del tipo especificado en el parmetro. */
static Mixer getMixer(Mixer.Info);
/* Obtiene un objeto Mixer del tipo especificado en el parmetro. */
static Mixer.Info[] getMixerInfo();
/* Obtiene un array con la informacin de los objetos Mixer existentes en el
sistema. */
static Line.Info[] getSourceLineInfo(Line.Info p1);
/* Obtiene un array con la informacin de los objetos Line existentes en
el sistema. */
static AudioFormat.Encoding[] getTargetEncodings(AudioFormat); static
AudioFormat.Encoding[] getTargetEncodings(AudioFormat.Encoding); /*
Obtiene los tipos de codificacin sopurtados para un determinado formato
de audio. */
static AudioFormat[] getTargetFormats(AudioFormat.Encoding, AudioFormat);
/* Obtiene los objetos AudioFormat de un determinado tipo. */
static Line.Info[] getTargetLineInfo(Line.Info);
/* Obtiene informacin de los objetos TargetLine de un determinado tipo. */
static boolean isConversionSupported(AudioFormat, AudioFormat); static boolean
isConversionSupported(AudioFormat.Encoding, AudioFormat); /* Devuelve true
si se permite la canversin entre los formatos especificados. */ static boolean
isFileTypeSupported(AudioFileFormat.Type); static boolean
isFileTypeSupported(AudioFileFormat.Type, AudioInputStream);
/* Devuelve true si se soporta el tipo de formato de fichero (para el
AudioInputStream en el segundo caso). */ static
boolean isLineSupported(Line.Info);
/* Devuelve true si en el sistema existe un objeto Line del tipo especificado. */
static int write(AudioInputStream, AudioFileFormat.Type, java.io.File); static int
write(AudioInputStream, AudioFileFormat.Type, java.io.OutputStream); /* Graba
los datos de audio en un fichero o en un OutputStream segn el formato
especificado. Devuelve el nmero de datos guardados. */
Para poder acceder a los distintos objetos del sistema se crean las clases de
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 26

informacin, cuyas instancias proporcionan informacin sobre las distintas
interfaces. Estas interfaces son Line.Info y las clases derivadas Mixer.Info,
Port.Info y DataLine.Info.
Obtencin de los recursos
Para obtener un objeto de la clase Mixer se puede conseguir un array de
objetos Mixer.Info con todos los Mixer soportados por el sistema por medio del
mtodo getMixerInfo() de la clase AudioSystem. Con este array podemos elegir
el Mixer que nos interese y obtenerlo con el mtodo getMixer( Mixer.Info) de la
clase AudioSystem.
Para obtener un objeto Line de un determinado tipo podemos obtenerlo de un
Mixer (ver apartado dedicado a los objetos Mixer) o de la clase AudioSystem
con el mtodo getLine(Line.Info). Se puede construir un objeto DataLine.Info
indicando en el constructor la clase del objeto del que informa
(TargetDataLine.class o SourceDataLine.class) y un objeto de la clase
AudioFormat. Es conveniente ver si un objeto Line del tipo deseado se soporta
por el sistema, para ello se utiliza el mtodo isLineSupported() de la clase
AudioSystem antes de intentar obtenerlo. La clase Port.Info proporciona unas
constantes (instancias final static de clase Port.Info) que definen algunas lneas
bsicas (Port.Info.COMPACT_DISC, Port.Info.HEADPHONE,
Port.Info.LINE_IN, Port.Info.LINE.OUT y Port.Info.SPEAKER).
Para obtener un array con informacin de las lneas existentes en el sistema se
usan las funciones getTargetLineInfo() y getSourcetLineInfo(), de la clase
AudioSystem, pasndoles los tipos de lneas que nos interesan. Por otro lado,
los objetos Mixer implementan los mtodos getTargetLineInfo() y
getSourcetLineInfo() que no necesitan parmetros y que devuelven informacin
sobre sus objetos Line. Con el mtodo getLine(), del objeto Mixer, pasando
como parmetro el Line.Info adecuado se obtiene la referencia al objeto Line
deseado.
Con estos datos es posible obtener un Line y manipularlo abrindolo,
cerrndolo, etc. Hay que advertir que no es aconsejable cambiar el Status de
los Ports ya que un usuario puede tener abierto o cerrado estos puertos por
conveniencia molestndole si la aplicacin los cambia de estado sin su
consentimiento.
Reproduccin de sonido
Antes de entrar en la reproduccin de sonido por medio de objetos
SourceDataLine hay que hacer mencin as los objetos Clip. Un objeto de esta
clase est pensado para almacenar el audio grabado de principio a fin, es la
mejor solucin cuando se conoce de antemano el tamao de la seal a
almacenar y es nica, as como cuando se desea repetir un sonido varias
veces (por ejemplo en un lazo). Los ejemplos tpicos de utilizacin es la
reproduccin de sonido de ficheros no demasiado grandes, en este caso se lee
el contenido del fichero en un clip y luego se reproduce, el control es ms
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 27

sencillo y los recursos utilizados son menores. Sin embargo en los casos
donde el audio es continuo o en ficheros de un gran tamao es preferible usar
los otros tipos de DataLine (SourceDataLine o TargetDataLine) con el fin de no
ocupar demasiada memoria del sistema. En nuestro caso nos centraremos en
este segundo caso ya que nuestra fin es la adquisicin tratamiento y
reproduccin de la seal sindonos de poca utilidad la clase Clip.
Reproduccin del sonido mediante SourceDataLine
Los objetos SourceDataLine son la entrada de objetos Mixer, siendo necesario
escribir en ellos los datos que se introducen en el Mixer. Los mtodos de estos
objetos son:
void open(AudioFormat);
void open(AudioFormat, int);
// Redefinen el metodo de abir de Line pasando el formato de audio
// que van a manejar y, opcionalmente, el tamao en bytes del buffer.

int write(byte [ ], int, int);
El proceso a realizar para la escritura de datos en el SourceDataLine una vez
obtenido es el siguiente:
Se procede a abrirlo con el mtodo propio open(AudioFormat) o
open(AudioFormat, int) donde el entero indica el tamao del buffer en bytes, si
no se utilizan argumentos se pone un formato por defecto. Para conocer estos
datos se pueden utilizar los mtodos getFormat() y getBufferSize() del objeto
SourceDataLine.
Con el mtodo start() la lnea empezar a reproducir sonido en cuanto tenga
algo en el buffer. Para poner datos en el buffer se usa el mtodo int write(byte []
b, int offset, int length) donde b es el array de datos, offset indica a partir de
donde, en el array b, se debe empezar a leer datos y length indica cuantos
datos deben ser ledos. Esta funcin devuelve el nmero de datos ledos. Es
muy importante tener en cuenta que todos estos datos vienen en bytes y no en
nmero de muestras.
Cuando sale la primera muestra del objeto Mixer (un instante despus de salir
del SourceDataLine) se produce un evento de tipo START que puede ser
recogido por el proceso a la salida del Mixer.
El mtodo write() vuelve slo cuando ha escrito todos los datos en el buffer. Si
se intenta escribir ms datos de los que caben en el buffer el mtodo se
bloquea hasta terminar. Para evitarlo con el mtodo available() se obtiene, en
bytes, el tamao de la parte que queda libre en el buffer.
Con el mtodo drain() el programa se bloquea hasta reproducir el sonido,
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 28

vaciando el buffer antes de volver. Con el mtodo stop() se para la
reproduccin, sin limpiar el buffer, y con start() contina dnde se qued, para
evitar la reproduccin de un segmento antiguo al llamar a start() se puede
utilizar el mtodo flush() que limpia el buffer. Todos estos mtodos de
SourceDataLine son heredados de DataLine.
Cuando deja de salir seal del Mixer procedente del SourceDataLine se genera
un evento de tipo STOP.
El mtodo isActive() devuelve true si estn saliendo datos (entre los eventos de
tipo START y STOP), el mtodo isRunning() devuelve true si la lnea est
abierta. Adems Line genera eventos de tipo OPEN y CLOSE al llamarse a las
funciones correspondientes. Todos los eventos pertenecen a la clase
LineEvent y les debe de atender un objeto que implemente la interfaz
LineListener. Para registrarlos se llama a la funcin de la clase Line,
addLineListener(), pasando como parmetro el objeto LineListener.
La interfaz LineListener slo define un mtodo: void update(LineEvent). Los
objetos LineEvent implementan los mtodos:
final long getFramePosition(); // Obtiene la osicion de la trama.
final Line getLine(); // Obtiene el objeto Line que lanz el evento.
final Line Event.Type getType(); // Obtiene el tipo de evento.
LineEvent(Line, LineEvent.Type, long); // Constructor.
java.lang.String toString(); // Obtiene un String para la representacin.
El tipo de evento es un objeto de clase LineEvent.Type, esta clase tiene
definida las constantes LineEvent.Type.CLOSE, LineEvent.Type.OPEN,
LineEvent.Type.START y LineEvent.Type.STOP.
Sincronizacin de lneas
La sincronizacin de lneas permite que la reproduccin se realice al mismo
tiempo, esta sincronizacin puede ser mantenida o no. La sincronizacin se
llama mantenida cuando es una sincronizacin muestra a muestra, es decir,
durante toda la reproduccin las muestras de ambas lneas salen a la par. La
sincronizacin no mantenida es aquella en la que slo se sincronizan los
procesos de start() y stop().
Para ver si varios objetos Line se pueden sincronizar se utiliza el mtodo, del
un objeto Mixer, isSinchronizationSupported()( Line [], boolean) al que se le
pasa un array con los objetos a sincronizar y un boolean que indica si la
sincronizacin es mantenida (valor true) o no (valor false), como es lgico
devuelve true si se pueden sincronizar y false si no.
Captura de sonido
Tras lo expuesto anteriormente en el apartado de reproduccin vale con una
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 29

pequea referencia al apartado de captura de sonido ya que todo se hace
prcticamente igual.
En la captura de audio los Ports (puertos) ponen datos en el Mixer y este en un
objeto TargetDataLine que tiene los mtodos:
void open(AudioFormat);
void open(AudioFormat, int);
// Redefinen el metodo de abir de Line pasando el formato de audio que
//van a manejar y, opcionalmente, el tamao en bytes del buffer.

int read(byte [], int, int);
// Lee los datos desde el buffer (ver texto a continuacin).
Aparte de los mtodos heredados. As se puede observar la cantidad de datos
en el buffer con available() y leerlos con read().
Lo primero es obtener un objeto TargetDataLine (antes es necesario
DataLine.Info) y abrirlo con open(), indicando, si es necesario, el formato de
audio (si no, pone uno por defecto) y el tamao del buffer. Para leer los datos
de TargetDataLine hay que utilizar el mtodo read() donde el primer parmetro
es el array de bytes donde dejar los datos, el segundo es el offset a partir del
que se dejan los datos en el array y el tercero indica el nmero de datos a leer.
Para limpiar el buffer se utiliza el mtodo drain().
Esta clase genera los mismos eventos que los que hemos visto en el caso
anterior LineEvent, con los mismos valores como LineEvent.Type (START,
STOP, OPEN y CLOSE).
Procesado de la seal.
Una vez capturada la seal y/o antes de la reproduccin tenemos la seal en
un array, momento que podemos aprovechar para el procesado de la seal, en
el caso de un proceso que no sea en tiempo real este array puede ser
almacenado para el procesado posterior o el procesado por parte de otro
thread del programa.
Existe la posibilidad de usar los el procesado soportado por los Mixer o los
DataLine mediante el uso de los objetos de clase Control, esto permite utilizar
funciones bsicas de estos objetos como la ganancia (gain) o la reverberacin
(reverb). Todo objeto Line puede implementar este procesado. Los objetos
Control en un Mixer pueden afectar slo a algunos Line asociados a l. La
jerarqua de estas clases es:
Control
BooleanControl
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 30

FloatControl
EnumControl
ComponentControl
Cada clase hija de Control tiene un una clase Type incluida que define
constantes para cada tipo de control. Para obtener un Control de un Line se
puede usar el mtodo de ese Line getControl(Control.Type) que devuelve la
instancia del Control, si queremos ver que controles soporta cada Line
podemos llamar al mtodo de Line getControls() que devuelve un array con
todos los objetos Control soportados. Para saber que tipo de Control es el
mtodo del Control getType() devuelve un objeto de clase Control.Type y con
el mtodo de Object getClass() se puede saber la clase derivada a la que
pertenece el objeto. Para cambiar los parmetros de un objeto Control se utiliza
el mtodo setValue() el tipo del parmetro de este mtodo depende de la clase
del mtodo.
1.6. Manejo de estructuras
5

Antecedentes
En lenguajes de programacin, las estructuras de control permiten modificar el
flujo de ejecucin de las instrucciones de un programa.
- Con las estructuras de control se puede:
- De acuerdo a una condicin, ejecutar un grupo u otro de sentencias
(IfThen-Else)
- De acuerdo al valor de una variable, ejecutar un grupo u otro de
sentencias (Select-Case)
- Ejecutar un grupo de sentencias mientras se cumpla una condicin
(DoWhile)
- Ejecutar un grupo de sentencias hasta que se cumpla una condicin
(Do-Until)
- Ejecutar un grupo de sentencias un nmero determinado de veces
(ForNext)

5
(http://es.wikipedia.org)
Desarrollo de contenidos
Tecnolgico Superior Cordillera Pgina 31

Unidad: Desarrollo de Videojuegos

Todas las estructuras de control tienen un nico punto de entrada y un nico
punto de salida. Las estructuras de control se pueden clasificar en
secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que
permite que la programacin se rija por los principios de la programacin
estructurada.
Los lenguajes de programacin modernos tienen estructuras de control
similares. Bsicamente lo que vara entre las estructuras de control de los
diferentes lenguajes es su sintaxis, cada lenguaje tiene una sintaxis propia para
expresar la estructura.
Tipos de estructura de control
Antecedentes
El trmino "estructuras de control", viene del campo de la ciencia
computacional. Cuando se presentan implementaciones de Java para las
estructuras de control, nos referimos a ellas con la terminologa de la
Especificacin del lenguaje Java, que se refiera a ella como instrucciones.
Ejecucin secuencial
Pero por lo general las instrucciones se ejecutan una despus de la otra, en el
orden en que estn escritas, es decir, en secuencia. Este proceso se conoce
como ejecucin secuencial.
Transferencia de control
En Java, como en otros lenguajes de programacin por excelencia como C y
C++, el programador puede especificar que las siguientes instrucciones a
ejecutarse tal vez no sea la siguiente en secuencia. Esto se conoce como
transferencia de control. Hay que tener en cuenta que la instruccin goto es
una palabra reservada pero no se utiliza ni se recomienda. Un programa bien
estructurado no necesita de esta instruccin.
De seleccin
Las estructuras de control de seleccin, ejecutan un bloque de instrucciones u
otro, o saltan a un subprograma o subrutina segn se cumpla o no una
condicin.
Estructura de control
Las estructuras de control, denominadas tambin sentencias de control,
permiten tomar decisiones y realizar un proceso repetidas veces. Se trata de
estructuras muy importantes, ya que son las encargadas de controlar el flujo de
un programa, segn los requerimientos del mismo.
Seleccin if simple
Se trata de una estructura de control que permite redirigir un curso de accin segn
la evaluacin de una condicin simple, sea falsa o verdadera.
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 32

Si la condicin es verdadera, se ejecuta el bloque de sentencias 1, de lo contrario,
se ejecuta el bloque de sentencias 2.
IF (Condicin) THEN
(Bloque de sentencias 1)
ELSE
(Bloque de sentencias 2)
END IF
Se pueden plantear mltiples concisiones simultneamente, si se cumple la
(Condicin 1), se ejecuta (Bloque de sentencias 1) en caso contrario se
comprueba la (Condicin 2), si es cierta se ejecuta (Bloque de sentencias 2), y
as sucesivamente hasta n condiciones, si ninguna de ellas es cumple se
ejecuta (Bloque de sentencias else).
IF (Condicin 1) THEN
(Bloque de sentencias 1)
ELSEIF (Condicin 2) THEN
(Bloque de sentencias 2)

.....
ELSEIF (Condicin n) THEN
(Bloque de sentencias n)
ELSE
(Bloque de sentencias ELSE)
END IF
------> Ejemplo: Anexo 1
Select-Case
Esta sentencia permite ejecutar una de entre varias acciones en funcin del
valor de una expresin. Es una alternativa a if then else cuando se compara la
misma expresin con diferentes valores.
Se evala la expresin, dando como resultado un nmero.
Luego, se recorren los "Case" dentro de la estructura buscando que el nmero
coincida con uno de los valores.
Es necesario que coincidan todos sus valores.
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 33

Cuando se encuentra la primera coincidencia, se ejecuta el bloque de sentencias
correspondiente y se sale de la estructura Select-Case.
Si no se encuentra ninguna coincidencia con ningn valor, se ejecuta el bloque de
sentencias de la seccin "Case Else".
SELECT (Expresin)
CASE Valor1
(Bloque de sentencias 1)
CASE Valor2
(Bloque de sentencias 2)
CASE Valor n
(Bloque de sentencias n)
CASE ELSE
(Bloque de sentencias "Else")
END SELECT
Estructuras de control iterativas
Las estructuras de control iterativas o de repeticin, inician o repiten un bloque
de instrucciones si se cumple una condicin o mientras se cumple una
condicin.
Do-While
Mientras la condicin sea verdadera, se ejecutarn las sentencias del bloque.
DO WHILE (Condicin)
(Bloque de sentencias)
LOOP
Que tambin puede expresarse:
WHILE (Condicin)
(Bloque de sentencias)
WEND
Do-Until
Se ejecuta el bloque de sentencias, hasta que la condicin sea verdadera
DO
(Bloque de sentencias)
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 34

LOOP UNTIL (Condicin)
For-Next
La sentencia For da lugar a un lazo o bucle, y permite ejecutar un conjunto de
sentencias, cierto nmero de veces.
Primero, se evalan las expresiones 1 y 2, dando como resultado dos nmeros.
La variable del bucle recorrer los valores desde el nmero dado por la expresin 1
hasta el nmero dado por la expresin 2.
El bloque de sentencias se ejecutar en cada uno de los valores que tome la
variable del bucle.
FOR (Variable) = (Expresin1) TO
(Expresin2) STEP (Salto)
(Bloque de sentencias)
NEXT
Estructuras anidadas
Las estructuras de control bsicas pueden anidarse, es decir pueden ponerse una
dentro de otra.
Estructura For-Next dentro de una estructura If-Then-Else
IF A > B THEN
FOR X = 1 TO 5
(Bloque de sentencias 1)
NEXT
ELSE
(Bloque de instrucciones 2)
END IF
Estructura If-Then-Else dentro de estructura For-Next
FOR x = 10 TO 20 STEP 2
IF A == C THEN
(Bloque de instrucciones)
ELSE
(Bloque de instrucciones)
END IF
NEXT
Desarrollo de contenidos Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 35

Estructura For-Next que est dentro de estructura Do-While
DO WHILE A > 0
FOR X = 1 TO 10
(Bloque de instrucciones)
NEXT
A = A - 1
LOOP

1.7. Generacin de interfaz grfica
6


Para disear interfaces grficas (Ventanas con componentes (etiquetas, cajas
de texto, botones, barras de desplazamiento, etc))
Java nos proporcionado algo muy interesante, que es una biblioteca de clases
denominada JFC(Java Foundation Classes =clases base de java).

6
(http://www.identi.li)
Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 36

Desarrollo de contenidos

Actualmente all se encuentra las siguientes API: Swing, AWT, Accesibilidad,
Java 2D y soporte para arrastrar y colocar.
Swing: Proporciona componentes escritos en Java para disear lo antes
mencionado, ejecutndose uniformemente en cualquier plataforma nativa
que soporta la mquina virtual de java (JVM)

AWT(Abstract Windows Toolkit=kit de herramientas de ventanas
abstractas): Proporciona un conjunto de componentes para disear
interfaces grficas de usuario comn a todas las plataformas nativas.
Pero a la hora de programar cual usamos?
La diferencia entre estos es que los componentes Swing estn
implementados absolutamente con cdigo no nativo lo que los hace
independientes de la plataforma, razn que justifica totalmente su uso.
Adems proporcionan ms capacidades que los componentes AWT.
Los componentes Swing son fcilmente reconocibles porque comienzan el
nombre con la letra J.
Por ejemplo el componente AWT Button tiene su equivalente en Swing al
JButton.
Los componentes AWT se localizan en el paquete java.awt y los Swing en el
paquete javax.swing.
Todo Componente Swing es subclase de la clase Jcomponent.
Estrategias de enseanza aprendizaje
Utilizando el siguiente link: https://www.examtime.com/es

Evaluacin final Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 37

1. Registrar Usuario
Desarrollo de contenidos

2. Tarea 1: Realizar en el examtime un mapa conceptual de la historia de
los Videojuegos y los IDEs de desarrollo, imprimir y presentar en la
segunda clase de la Optativa, cada tema por separado.
3. Tarea 2: Realizar en el examtime un mapa conceptual de los IDEs de
desarrollo, imprimir y presentar en la tercera clase de la Optativa.
4. Tarea 3: Realizar un ejercicio por cada uno de las Estructuras de Control
Iterativas.
Recursos
jdk-7u25-nb-7_3_1-windows-i586 o
superior.

netbeans-7.3.1-windows o superior.




8. Evaluacin final
Evaluacin Terica

INSTITUTO TECNOLGICO CORDILLERA

EVALUACIN INICIAL DESARROLLO DE
JUEGOS
Nombre: ________________________________
Escuela: Anlisis de Sistemas
Docente: ING. ROBERTO MORALES
Nivel: SEGUNDO
Jornada: ____________________
Fecha: _________________
Calificacin:___________
Recomendaciones: Lea detenidamente cada una de las preguntas antes de
contestarlas, se recomienda tambin iniciar por las preguntas de menos
complejidad.
Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 38

Objetivo: Determinar el nivel de conocimiento adquirido por el estudiante al
finalizar el mdulo de Desarrollo de Videojuegos.
1. De un concepto de Videojuego
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
2. Cul es el nombre del considerado primer videojuego, el ao de
creacin y por quien fue desarrollado?
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
3. Cul es el nombre del primer video juego que permite ya
interactuar a dos personas y quien fue su creador?
_____________________________________________________________
_____________________________________________________________
4. Hable de la historia de los videojuegos entre los aos 1970- 1979.
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________

Evaluacin final
Tecnolgico Superior Cordillera Pgina 39


5. En qu dcada comienza la revolucin de las videoconsolas y
con qu empresa?
_____________________________________________________________
_____________________________________________________________
6. Por qu se denomina Revolucin de las 3D en los aos 1990-
1999?
_____________________________________________________________
_____________________________________________________________
____________________________________________________________
_
_____________________________________________________________
7. Con qu consola aparece Sony y que pas durante su aparicin?
_____________________________________________________________
____________________________________________________________
_
____________________________________________________________
_
____________________________________________________________
_
8. Qu es un IDE de programacin?
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
9. Mencione 4 caractersticas que debe de tener un IDE de
programacin.
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
____________________________________________________________
_
____________________________________________________________
_
10. Mencione todos los componentes de un IDE de Programacin.
Evaluacin final Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 40

_____________________________________________________________
____________________________________________________________
_
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
____________________________________________________________
_
_____________________________________________________________
Unidad: Desarrollo de Videojuegos

11. Defina 1 caracterstica del IDE Eclipse
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
12. Defina 1 caracterstica del IDE NetBeans
_____________________________________________________________
_____________________________________________________________
____________________________________________________________
_
13. Cul es la funcin del mtodo getKeyChar ()?
_____________________________________________________________
_____________________________________________________________
____________________________________________________________
_
14. Cul es la funcin del mtodo KeyPressed ()?
_____________________________________________________________
____________________________________________________________
_
_____________________________________________________________
15. Qu paquetes componen el API Java Sound y hable de cada uno
de ellos?
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
____________________________________________________________
_
Evaluacin final
Tecnolgico Superior Cordillera Pgina 41

_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
16. Hable de las Instrucciones de Ejecucin Secuencial
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
17. Hable de las Instrucciones de Transferencia de Control
_____________________________________________________________
____________________________________________________________
_
_____________________________________________________________


18. Defina las siguientes Estructuras de Control y sus sintaxis.
a. FOR
Definicin.-
_______________________________________________________
_______________________________________________________
_______________________________________________________
Sintaxis.-







b. WHILE
Definicin.-
_______________________________________________________
_______________________________________________________
_______________________________________________________
Sintaxis.-






Evaluacin final Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 42



c. IF-THEN-ELSE
Definicin.-
_______________________________________________________
_______________________________________________________
_______________________________________________________
Sintaxis.-







FIRMA DEL ESTUDIANTE FIRMA DEL DOCENTE
Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 43

Bibliografa

Evaluacin Prctica
Realizar un juego (Tema a eleccin), utilizando cualquier IDE de desarrollo
(IDE a eleccin). http://www.edu4java.com/es/tutoriales-programacion-java.html
9. Bibliografa
http://www.fib.upc.edu/retro-informatica/historia/videojocs.html
http://www.ecured.cu/index.php/IDE_de_Programaci%C3%B3n
http://cucutaloco.wikispaces.com/keypress+java
http://cprades.eresmas.com/Tecnica/sonidoenjava.html#formatosaudio
http://es.wikipedia.org/wiki/Estructuras_de_control
http://www.identi.li/index.php?topic=225732
10. Anexos
Anexo 1 (Ejercicio if-.else)
Ejemplo de programa Java con estructura condicional: Programa que pide por
teclado la nota obtenida por un alumno y muestra un mensaje si el alumno ha
aprobado.
Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 44

/* * Programa que pide una nota por teclado y muestra un mensaje si la nota es
* mayor o igual que 5*/ import
java.util.*; public class Ejemplo0If {
public static void main( String[] args ){
Scanner sc = new Scanner( System.in
); System.out.print("Nota: "); int
nota = sc.nextInt(); if (nota >= 5 ){
System.out.println("Enorabuena!!");
System.out.println("Has aprobado");
} }}
Anexos

Lectura Reflexiva
EL TREN DE LA VIDA
La vida no es ms que un viaje en tren, repleto de embarques y desembarques,
salpicado de accidentes, sorpresas agradables en algunos casos y de
profundas tristezas en otros. Al nacer nos subimos al tren y nos encontramos
con algunas personas, las cuales creemos que siempre estarn con nosotros
en este viaje (nuestros padres).
Lamentablemente la verdad es otra. Ellos se bajarn en alguna estacin
dejndonos hurfanos de su cario, amistad y su compaa irreemplazable.
No obstante, esto no impide que se suban otras personas que sern muy
especiales para nosotros. Llegan nuestros hermanos, amigos y esos amores
maravillosos.
De las personas que toman este tren, habr tambin los que lo hagan como un
simple paseo. Otros encontrarn solamente tristeza en el viaje. Y habr otros
que, circulando por el tren, estarn siempre listos en ayudar a quien lo
necesite. Muchos al bajar, dejarn una aoranza permanente. Otros pasarn
desapercibidos, que ni siquiera nos daremos cuenta que desocuparon el
asiento.
Es curioso que algunos pasajeros, quienes nos son ms queridos, se
acomodan en vagones distintos al nuestro. Por lo tanto, se nos obliga hacer el
Glosario Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 45

trayecto separados de ellos. Desde luego, no se nos impide que durante el
viaje, recorramos con dificultad nuestro vagn y lleguemos a ellos. Pero
lamentablemente, ya no podremos sentarnos a su lado pues habr otra
persona ocupando el asiento. No importa; el viaje se hace de este modo: lleno
de desafos, sueos, fantasas, esperas y despedidas Pero nunca habr
regresos.
Entonces hagamos este viaje de la mejor manera posible. Tratemos de
relacionarnos bien con todos los pasajeros, buscando en cada uno lo mejor de
ellos. Recordemos siempre que en algn momento del trayecto, ellos podrn
titubear y probablemente precisaremos entenderlos. Nosotros tambin
titubearemos y habr alguien que nos comprenda.
El gran misterio, al fin, es que no sabremos jams en qu estacin bajaremos y
mucho menos dnde bajarn nuestros compaeros, ni siquiera el que est
sentado en el asiento de al lado.
Me quedo pensando si cuando baje del tren, sentir nostalgia creo que s.
Separarme de algunos amigos de los que hice en el viaje ser doloroso. Dejar
que mis hijos sigan solos, ser muy triste. Pero me aferro a la esperanza de
que, en algn momento, llegar a la estacin principal y tendr la gran emocin

de verlos llegar con un equipaje que no tenan cuando embarcaron. Lo que me
har feliz, ser pensar que colabor con que el equipaje creciera y se hiciera
valioso.
Amigo mo, hagamos que nuestra estancia en este tren sea tranquila y que
haya valido la pena.
Hagamos tanto, para que cuando llegue el momento de desembarcar, nuestro
asiento vaco, deje aoranza y lindos recuerdos a los que permanezcan en el
viaje.
A t, que eres parte de mi tren, te deseo un Feliz viaje!!!.
Enlace Video de Referencia:
https://www.youtube.com/watch?v=pd1emO24plk
11. Glosario
General
Applet
Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 46

Un applet es un componente de software (cdigo de programa) que el
explorador descarga para proporcionar funciones en una pgina web. Los
applets de Java proporcionan funciones interactivas en un explorador web
mediante Java Virtual Machine (JVM).
Comprobar/Seleccionar
Mtodo por el que los usuarios introducen informacin en un cuadro de dilogo
o pgina web, ya sea activando una casilla de control con el cursor para crear
una marca de verificacin o colocando el cursor sobre un botn de radio y
haciendo clic para "pulsar" el botn.
Cuadro de dilogo
Ventana especial de una interfaz de usuario grfica que informa al usuario o le
solicita informacin.
Activar/Desactivar
Configuracin del software accesible para el usuario que activa o desactiva
ciertas funciones o capacidades. Resulta til para resolver problemas de la
configuracin de Java, ya que se le puede solicitar al usuario que utilice un
cuadro de dilogo para activar o desactivar una configuracin o funcin
especficas.

Glosario
Tecnolgico Superior Cordillera Pgina 47


Archivo Java (JAR)
El archivo Java (.jar) es una formato de archivo que se utiliza para agrupar
varios archivos dentro de un nico archivo de almacenamiento. Normalmente
un archivo JAR contiene los archivos de clase y recursos auxiliares asociados
a applets y aplicaciones.
Java Plugin
La tecnologa Java Plugin forma parte de Java Runtime Environment y
establece la conexin entre los exploradores ms conocidos y la plataforma
Java. Esta conexin permite que los applets de sitios Web se ejecuten en el
explorador en el escritorio.
Cach de Java Runtime Environment (JRE)
rea de almacenamiento de la consola de Java que, en ocasiones, se debe
borrar de forma manual para permitir la carga e instalacin de la ltima versin
de Java.
Java Virtual Machine (JVM)
En Java, un conjunto de programas de software que permiten la ejecucin de
instrucciones y que normalmente estn escritos en cdigo byte de Java. Las
mquinas virtuales de Java estn disponibles para las plataformas de hardware
y software de uso ms frecuente.
javaw.exe
El proceso javaw.exe es un programa propiedad de Oracle, Inc., que funciona
junto con el explorador Internet Explorer como un plugin de Java. Este
programa es similar al programa java.exe. La nica diferencia radica en que el
proceso javaw.exe no tiene ninguna ventana de consola al ejecutarse. Si no
desea ver una ventana de smbolo del sistema, podra utilizar mejor el proceso
javaw.exe. El archivo javaw.exe es un programa de ejecucin que mostrar un
cuadro de dilogo durante los momentos en los que se produzca un fallo al
iniciar un programa.
jucheck.exe
El proceso jucheck.exe forma parte de la instalacin de Java en Windows y
comprueba si hay nuevas versiones de Java. El proceso no instala Java y le
notifica de que una versin ms reciente est lista para su descarga. Ms
informacin
IFTW
Glosario Unidad: Desarrollo de Videojuegos
Tecnolgico Superior Cordillera Pgina 48

Instalacin desde la Web o instalacin en lnea.
Unidad: Desarrollo de Videojuegos

Procedimientos de instalacin
Los usuarios de Java pueden escoger entre tres procedimientos de instalacin:
instalacin en lnea, fuera de lnea o manual.
La instalacin en lnea se lleva a cabo de forma automtica mientras
permanece conectado a Internet haciendo clic en el botn "Descarga gratuita
de Java" de la pgina Descarga gratuita de Java.
Para la instalacin fuera de lnea es necesario descargar un archivo ejecutable
que aparece en la lista de descarga manual de Java y que incluye todos los
archivos necesarios para realizar la instalacin completa a discrecin del
usuario. No es necesario permanecer conectado a Internet durante la
instalacin. El archivo puede copiarse tambin e instalarse en otro equipo que
no tenga conexin a Internet.
La instalacin manual descarga un archivo de programa ejecutable para
instalar desde la red (IFTW) y apenas requiere intervencin del usuario. Al
ejecutarlo, el programa obtiene de la red todos los archivos necesarios, por lo
que es imprescindible permanecer conectado a Internet durante la instalacin.
JRE privada
Al instalar JDK, se instala una JRE privada y, opcionalmente, una copia
pblica. La JRE privada se necesita para ejecutar las herramientas que incluye
el JDK. No cuenta con configuracin de registro y est totalmente incluida en
un directorio Java (normalmente C:\Program Files\jdk1.7.0\jre) cuya ubicacin
slo conoce el JDK.
JRE pblica
La JRE pblica la pueden utilizar otras aplicaciones Java y no va incluida en el
JDK (normalmente est en C:\Program Files\Java\jre1.7.0). Se registra en
Windows (en HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft). Se puede
eliminar con la opcin Agregar o quitar programas y tambin se registra en los
exploradores.
Cach del explorador web
La cach es una zona de almacenamiento temporal en la que se guardan los
datos a los que se accede con frecuencia para acelerar la carga de los mismos.
La cach del explorador web guarda una copia de las pginas que pasan a
travs del mismo. Para solucionar ciertos problemas de instalacin o
Glosario
Tecnolgico Superior Cordillera Pgina 49

configuracin de Java, a veces es necesario limpiar la cach de forma manual
accediendo a un cuadro de dilogo.


Solucin alternativa
Una solucin alternativa es una solucin temporal para evitar un problema de
sistema identificado a la espera de una solucin ms permanente.
Seguridad
Lista de excepciones de sitios
La funcin Lista de excepciones de sitios permite a los usuarios finales ejecutar
applets Java y aplicaciones de Java Web Start (tambin denominadas
aplicaciones de Internet enriquecidas) que no cumplen con los requisitos de
seguridad ms recientes. Las aplicaciones de Internet enriquecidas incluidas
en la lista de excepciones de sitios se pueden ejecutar una vez realizadas las
peticiones de datos de seguridad aplicables.
Aplicacin Sandbox
Hace referencia al nivel de acceso a los archivos del sistema, como al disco
duro, y a la red. Un sandbox impide el acceso a los recursos del sistema por
parte de aplicaciones que no son de confianza o que pueden no estar
autorizadas.
Aplicaciones firmadas y sin firmar
La firma de cdigo es una tecnologa de seguridad por medio de la cual las
aplicaciones se firman digitalmente para confirmar el autor o publicador del
software. El trmino Aplicaciones firmadas hace referencia a las aplicaciones
firmadas por el proveedor de la aplicacin (autofirmadas) o por una autoridad
de certificacin. Esto no asegura que el propio cdigo sea de confianza, slo
que proviene del origen indicado. Con aplicaciones sin firmar nos referimos al
cdigo que no ha sido firmado, en cuyo caso el origen de la aplicacin no se
puede verificar.
Listas de revocaciones de certificados (CRL) y Online Certificate Status
Protocol (OCSP)
Estas son partes de un mecanismo que se utiliza normalmente en Internet para
comprobar que un certificado que ha utilizado un desarrollador de la aplicacin
para firmar su trabajo sigue siendo vlido.

Vous aimerez peut-être aussi