2. AGENDA
Como obtener y usar la fecha actual y tiempo
en el programa C# usando el tipo DateTime.
Descubrir como extraer una versión de texto de
la información del tiempo desde una instancia
DateTime.
Crear un programa XNA que muestre un reloj
digital.
Utilizar un lazo para mostrar el reloj en múltiples
capas de texto.
Usar colores transparentes para producir
sombras
3. FECHA Y HORA EN C#
Muchos programas necesitan trabajar con
valores de fechas y horas y el sistema de
librerias de C# contiene un tipo llamado
DateTime.
Las variables de este tipo pueden almacenar
valores de fecha y hora.
DateTime provee un mecanismo mediante el
cual un programa puede obtener la fecha y
hora actual del reloj de la maquina
4. OBTENER LA FECHA Y HORA ACTUAL
La sentencia declara una variable llamada
nowDateTime del tipo DateTime.
Luego la configura con la fecha y hora actual
del sistema
Esto se hace haciendo uso de la propiedad
Now del tipo DateTime.
Esta propiedad ejecuta el código que lee la
hora actual.
DateTime nowDateTime = DateTime.Now;
5. OBTENER LA FECHA Y HORA ACTUAL
Una propiedad es la manera que tiene un tipo
para hacer que un valor este disponible para ser
usado por el programa.
Antes se ha visto un ejemplo como este:
El tipo color expone la propiedad
CornFlowerBlue que retorna Color cuando es
accesada.
La propiedad Now aunque mas compleja, pero
se usa en la misma forma.
DateTime nowDateTime = DateTime.Now;
Color backgroundColor = Color.CornflowerBlue;
6. OBTENER LA HORA COMO UN STRING DE TEXTO
La variable nowDateTime almacena fechas y
horas.
Pero el reloj debe mostrarse como un string de
texto.
Para obtener el texto de nowDateTime, hay que
llamar un método proveeido para hacer esto
El método retorna un resultado en la forma de
un valor de texto.
El tipo string en C# es usado para almacenar
string de texto en un programa.
string nowString = nowDateTime.ToLongTimeString();
7. OTROS METODOS DE DATETIME
Es posible usar estos métodos para obtener
diferentes formatos de string.
La apariencia precisa de la salida depende del
host y puede ser diferentes entre diversos
dispositivo
Method Name Output
ToLongTimeString() 20:23:55
ToShortTimeString() 20:23
ToLongDateString() 16 March 2009
ToShortDateString() 16/03/2009
ToString() 16/03/2009 20:23:55
9. DEMOSTRACIÓN
Podemos modificar un
texto mostrado en el
programa, para que
muestre el reloj
El reloj es actualizado
continuamente por
que Draw es llamado
60 veces por segundo
10. ADICIONAR UN EFECTO 3D
Los juegos modernos tienen interfaces 3D
Esto significa que la pantalla frecuentemente
tiene una profundidad.
Esto no es usualmente por que el juego es
en 3D
Muchos juegos trabajan en 2D pero tienen
pantallas en 3D
Vamos a explorar como obtener un efecto 3D
11. OBTENER EL 3D EN REDRAWING
El código dibuja dos versiones del tiempo.
Entre las operaciones de dibujado, este se
mueve para dibujar otra posición de manera
suave.
La segunda versión traslapa la primera
spriteBatch.DrawString(font, nowString,
nowVector, Color.Red);
nowVector.X = nowVector.X + 4;
nowVector.Y = nowVector.Y + 4;
spriteBatch.DrawString(font, nowString,
nowVector, Color.Yellow);
12. MOVER LA POSICIÓN DE DIBUJADO
Estas dos sentencias incrementar el valor de
las propiedades de la X y la Y de
nowDateTime en 4
nowVector.X = nowVector.X + 4;
nowVector.Y = nowVector.Y + 4;
13. SECUENCIA DE ASIGNACION
La secuencia de la asignación es:
Recoger el valor de nowVector .X
Adicionar 4
Asignar el resultado a nowVector.X
15. DIBUJAR EN CAPAS
Dibujar en capas crea un efecto en 3D,
especialmente si se seleccionan colores
adecuados.
Sin embargo, los carácteres no lucen realmente
sólidos, existen algunas partes que necesitan
rellenarse
16. HACER CARACTERES SOLIDOS
Por el momento los caracteres no lucen
sólidos porque existen espacios en las
esquinas.
El programa debe de dibujar capas extras
para rellenar esto.
17. PARA ESO UTILIZAMOS UN LAZO
int layer;
for (layer = 0; layer < 4; layer++)
{
spriteBatch.DrawString(font, nowString,
nowVector, Color.Red);
nowVector.X++;
nowVector.Y++;
}
19. RESUMEN
Las fechas y horas en un programa en C#
son administrados por un tipo especial de
datos llamados DateTime.
El tipo DateTime provee un propiedad que
retorna la actual fecha y hora.
Las instancias de DateTime proveen
métodos que retornan la información como
strings.
Los programas pueden alcanzar efectos en
3D repitiendo el dibujado de imágenes en 2D
20. VERDADERO O FALSO
Una variable del tipo DateTime almacena la
fecha actual y hora.
Una asignación C# puede ser usada para
configurar un conjunto de variables como
resultado de una expresión.
XNA no permite dibujar texturas sobre de
otra.
Un lazo del tipo “for” siempre se completa
El Compilador C# siempre detecta errores en
las construcciones de bucle
21. VERDADERO O FALSO
Una variable del tipo DateTime almacena la
fecha actual y hora.
Una asignación C# puede ser usada para
configurar un conjunto de variables como
resultado de una expresión.
XNA no permite dibujar texturas sobre de
otra.
Un lazo del tipo “for” siempre se completa
El Compilador C# siempre detecta errores en
las construcciones de bucle
22. VERDADERO O FALSO
Una variable del tipo DateTime almacena la
fecha actual y hora.
Una asignación C# puede ser usada para
configurar un conjunto de variables como
resultado de una expresión.
XNA no permite dibujar texturas sobre de
otra.
Un lazo del tipo “for” siempre se completa
El Compilador C# siempre detecta errores en
las construcciones de bucle
23. VERDADERO O FALSO
Una variable del tipo DateTime almacena la
fecha actual y hora.
Una asignación C# puede ser usada para
configurar un conjunto de variables como
resultado de una expresión.
XNA no permite dibujar texturas sobre de
otra.
Un lazo del tipo “for” siempre se completa
El Compilador C# siempre detecta errores en
las construcciones de bucle
24. VERDADERO O FALSO
Una variable del tipo DateTime almacena la
fecha actual y hora.
Una asignación C# puede ser usada para
configurar un conjunto de variables como
resultado de una expresión.
XNA no permite dibujar texturas sobre de
otra.
Un lazo del tipo “for” siempre se completa
El Compilador C# siempre detecta errores en
las construcciones de bucle
25. VERDADERO O FALSO
Una variable del tipo DateTime almacena la
fecha actual y hora.
Una asignación C# puede ser usada para
configurar un conjunto de variables como
resultado de una expresión.
XNA no permite dibujar texturas sobre de
otra.
Un lazo del tipo “for” siempre se completa
El Compilador C# siempre detecta errores en
las construcciones de bucle