JC T1 Introduccion

33
Introducción a la programación en C# usando Unity Daniel Robledo Forero 1

description

programacion

Transcript of JC T1 Introduccion

Page 1: JC T1 Introduccion

Introducción a la programación en C#

usando Unity

Daniel Robledo Forero

1

Page 2: JC T1 Introduccion

Agenda

¿Que es un programa?

Lenguajes de programación

Lenguajes y Unity

Game engines

2

Page 4: JC T1 Introduccion

Programa - Tipos: OS

Controlar los procesos activos

Proveer servicios:

Manejo de archivos

Manejo del procesador

Manejo de interfaz grafica

Manejar recursos como la memoria de ejecución y almacenamiento.

Windows, Mac OS, Unix, Linux, Android, iOS

4

Page 5: JC T1 Introduccion

Programa - OS

5

http://www.guidebookgallery.org/pics/gui/desktop/full/win95.png

http://3.bp.blogspot.com/-wz6WMM5vr20/UEkcq6U3nUI/AAAAAAAAGPY/V8K4PfM1J70/s1600/pr

opheticon13-1.png

(a) (b) -----------

(a) http://dzfocdn.dazeinfo.com/wp-content/uploads/2014/04/ios8-screenshot-3415990.jpg

(a) http://cnet2.cbsistatic.com/hub/i/r/2013/11/05/870ce8c8

-6493-4a16-bf5d-0bf431d50387/resize/770x578/Android%20KitKAt%20%20R.jpg?hash=270956c7e1e5660ae388718d511b7f6d

Page 6: JC T1 Introduccion

Programa - Tipos: Aplicación

Cualquier software que cumpla una función especifica para un usuario final

Procesadores de texto

Exploradores de internet

Reproductores de música/video

Juegos

IDE

6

Page 9: JC T1 Introduccion

Programa - Ejecución

Un programa esta escrito en código fuente, el puede ser ejecutado directamente o convertirse en un ejecutable.

9

1

2

3 4

Page 10: JC T1 Introduccion

Programa -¿Quién lo hace?

Un programador es en encargado de escribir este código fuente, el cual esta creado en un lenguaje de programación.

10 http://i.stack.imgur.com/ELzh4.jpg

Page 11: JC T1 Introduccion

Programa - Fases

Definir los requisitos de problema: Especificación

Planear la solución: Diseño

Escribir el código: Implementación

Arreglar los problemas: Solución de errores

Desplegar la solución: Despliegue y mantenimiento

11

Page 12: JC T1 Introduccion

Programa - Fases

12

Especificación

Diseño

Implementación

Solución de errores

Despliegue y mantenimiento

Page 13: JC T1 Introduccion

Lenguajes de programación

Definición:

Un lenguaje de programación es un lenguaje artificial usado para definir y transmitir una serie de instrucciones las cuales serán traducidas a un lenguaje que el computador pueda entender para luego ser interpretadas y ejecutadas. Podemos clasificarlos como lenguajes de alto nivel y lenguajes de bajo nivel.

13 http://blog.gtupedia.com/wp-content/uploads/2014/04/pro2.png

Page 14: JC T1 Introduccion

Lenguajes - Clasificación

Bajo nivel

Lenguaje de maquina

Lenguaje de ensamblador

Propósito general:

C++

Java

C#

Objective-C

Scripting:

Swift

Javascript

Python 14

Page 15: JC T1 Introduccion

Lenguajes - Usos

C++

C#

15

• Java

• Objective-C

Page 16: JC T1 Introduccion

Lenguajes - Partes

Variables

Estructuras de control

Estructuras de datos

Palabras reservadas

Organización

16

Page 17: JC T1 Introduccion

Lenguajes - Variables

Es un espacio donde se guarda algún tipo de valor y la cual tiene un identificador con el cual se le podrá hacer referencia a este valor.

Este tipo de valor de valor puede ser por ejemplo un numero entero, una cadena de caracteres o un valor booleano.

Las variables pueden tener un tamaño fijo, el cual no cambiara la ejecución del programa; o así mismo tener un tamaño variable.

17 http://img.c4learn.com/2012/02/Variable-in-Java.jpg

Page 18: JC T1 Introduccion

Lenguajes - Variables

Sobre estas variables, las cuales contienen la información que se quiere procesar, se de realizara una serie de operaciones y manipulaciones de distintos tipos para así lograr que el programa cumpla su función.

http://i.imgur.com/ycyDZ.jpg

18

Page 23: JC T1 Introduccion

Lenguajes – Organización

Ej: Mostrar los nombres de los jugadores

23

Variables

Estructuras de datos

Estructuras de control

Palabras reservadas

Page 24: JC T1 Introduccion

Lenguajes en Unity

Lenguajes

C#

Javascript

(UnityScript)

Boo 24

Page 25: JC T1 Introduccion

Lenguajes en Unity: C# vs

Javascript

Javascript:

Sintaxis simple

Débilmente tipado

Desempeño puede variar

Derivado del verdadero Javascript => documentación limitada

Restricción de librerías

C#

Sintaxis mas restringida

Fuertemente tipado

Alto desempeño

Documentación completa 25

Page 30: JC T1 Introduccion

Game Engines - Físicas

Encargado de la detección de colisiones y de simulaciones físicas en el juego.

30

http://www.ufunk.net/wp-content/uploads/2010/07/Lagoa-Multiphysics-2.jpg

http://upload.wikimedia.org/wikipedia/en/d/d6/Angry-Birds-in-Game-Play-1.jpg

Page 33: JC T1 Introduccion

Game Engines - Ejemplos

33

http:// denis-potapenko.blogspot.com

http://epicgames.com/images/sized/files/news/UE4Logo-EG-254x207.png

Construct 2 - Gamemaker

http://www.maximumpc.com/files/u107541/screen_shot_2011-03-08_at_12.56.46_pm.jpg

http://upload.wikimedia.org/wikipedia/uk/4/4f/Source_game_engine_logo.png

http://davevoyles.azurewebsites.net/

wp-content/uploads/2014/03/Game-

Maker-Logo.jpeg

http://cdn.akamai.steamstatic.com/st

eam/apps/227240/header.jpg?t=13594

04667