Slide1 l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 24

Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 5: Transformación y colisión de sprites PowerPoint PPT Presentation


  • 118 Views
  • Uploaded on
  • Presentation posted in: General

Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 5: Transformación y colisión de sprites. [email protected] Objetivos de esta serie. Dar a los participantes una introducción a algunos de los conceptos fundamentales del desarrollo de juegos

Download Presentation

Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 5: Transformación y colisión de sprites

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Slide1 l.jpg

Desarrollo de juegos de videoAprendiendo a programar en C# de manera divertidaSesión 5: Transformación y colisión de sprites

[email protected]


Objetivos de esta serie l.jpg

Objetivos de esta serie

  • Dar a los participantes una introducción a algunos de los conceptos fundamentales del desarrollo de juegos

  • Introducir la programación con Visual C# 2005 Express Edition, el nuevo IDE (ambiente de desarrollo integrado) de Microsoft para programadores principiantes


Visi n de esta sesi n l.jpg

Visión de esta sesión

  • Sesión 5/8 – Transformaciones, colisiones y velocidad en los sprites

    • Transformación

    • Colisión

    • Velocidad


Transformaciones l.jpg

Transformaciones

  • Traslaciones

  • Rotaciones

  • Escalamiento


Traslaciones l.jpg

Traslaciones

  • Una transformación de traslación se aplica a un objeto reposicionándolo

  • En esencia, moviéndolo de una coordenada a otra a lo largo de una línea recta


Traslaciones6 l.jpg

Traslaciones

  • tx y ty se denominan las distancias de traslación a lo largo de los ejes x e y

  • T(tx,ty) es llamado el vector de traslación


Rotaciones l.jpg

Rotaciones

  • Las rotaciones rotan un punto a lo largo de una ruta circular

  • Para especificar una transformación de rotación necesitamos:

    • Un ángulo

    • Un punto pivote (referencia para la rotación)

    • Un eje de rotación (En 2D, el eje es perpendicular al plano x-y, o sea el eje z)

    • Especificar un ángulo de rotación positivo (contra agujas de reloj) o negativo (agujas de reloj)


Rotaciones8 l.jpg

Rotaciones

  • Nótese como un ángulo de rotación positivo rota el punto contra agujas de reloj y un ángulo de rotación negativo rota el punto a favor de las agujas de reloj


Escalamiento l.jpg

Escalamiento

  • El escalamiento altera el tamaño de los objetos

  • En 2D, se requiere dos factores de escalamiento, sx y sy

  • Estos factores escalan al objeto en las direcciones x e y

  • El escalamiento se hace multiplicando las coordenadas x-y de cada vértice del objeto por sus factores de escalamiento

  • Por ejemplo, si tenemos el vértice en (x,y), lo escalaríamos de esta manera:x’ = sx ● xy’ = sy ●y

  • Si sx = sy tenemos un escalamiento uniforme


Colisi n rectangular l.jpg

Colisión rectangular

  • Cada cuadro es una imagen rectangular

  • El rectángulo define los límites del sprite

  • Calculando las posiciones de dos sprites (rectángulos), se puede determinar si hay una colisión


Detecci n de una colisi n o intersecci n l.jpg

Detección de una colisión o intersección

  • El límite de la primera caja limitante está determinado por L=1, B=1, R=3, T=3

  • El límite de la segunda caja limitante está determinado por L’=2, B’=2, R’=4, T’=4

  • Hallar lo siguiente:

    • Max(L, L’) = Max(1,2) = 2

    • Max(B, B’) = Max(1,2) = 2

    • Min(R, R’) = Min(3,4) = 3

    • Min(T, T’) = Min(3,4) = 3


Detecci n de una colisi n o intersecci n12 l.jpg

Detección de una colisión o intersección

  • Las dos cajas limitantes se intersecan si:

    • Max(Max(L, L’) - Min(R, R’), Max(B, B’) - Min(T, T’)) <= 0

    • Max(2-3, 2-3) <= 0

    • Max(-1, -1) <= 0

    • -1 <= 0, luego hay intersección

Las dos cajas limitantes se intersecan y forman un nuevo rectángulo: L=2, B=2, R=3, T=3


Detecci n de una colisi n o intersecci n13 l.jpg

Detección de una colisión o intersección

  • El límite de la primera caja limitante está determinada por: L=1,2, B=1, R=2,8, T=2,6

  • El límite de la segunda caja limitante está determinada por: L=3,6, B=3, R=5,3, T=4,5

  • Encontrar lo siguiente:

    • Max(L, L’) = Max(1,2, 3,6) = 3,6

    • Max(B, B’) = Max(1, 3) = 3

    • Min(R, R’) = Min(2,8, 5,3) = 2,8

    • Min(T, T’) = Min(2,6, 4,5) = 2,6


Detecci n de una colisi n o intersecci n14 l.jpg

Detección de una colisión o intersección

  • Las dos cajas limitantes se intersecan si:

    • Max(Max(L, L’) - Min(R, R’), Max(B, B’) - Min(T, T’)) <= 0

    • Max(3,6 – 2,8, 3 – 2,6) <= 0

    • Max(0,8, 0,4) <= 0,8

    • 0,8 > 0, luego no hay intersección

Las dos cajas limitantes no forman un nuevo rectángulo puesto que el resultado es positivo


Sistemas de coordenadas diferentes l.jpg

Sistemas de coordenadas diferentes

  • Un sistema de coordenadas de pantalla tiene la parte superior izquierda en (0, 0):


Sistemas de coordenadas diferentes16 l.jpg

Sistemas de coordenadas diferentes

  • La misma ecuación de la sección anterior se aplica con las siguientes observaciones:

    • Nada cambia con respecto a la izquierda y derecha

    • Puesto que el techo es menor que el fondo:

      • Max(B, B’) debe convertirse en Min(B, B’)

      • Min(T, T’) debe convertirse en Max(T, T’)

    • Así que la ecuación final es:

      • Max(Max(L, L’) – Min(R, R’), Min(B, B’) – Max(T, T’)) <= 0


Sistemas de coordenadas diferentes17 l.jpg

Sistemas de coordenadas diferentes


Velocidad l.jpg

Velocidad

  • El vector velocidad V(x, y) describe la velocidad y la dirección de un objeto en movimiento

  • Velocidad

    • La velocidad es la magnitud de V(x, y)

    • Ejemplo:

  • Dirección

    • Los vectores unitarios son vectores que tienen longitud uno y se usan para indicar la dirección

    • Ejemplo: uv(x/L, y/L) dónde L es la distancia desde el origen


Velocidad19 l.jpg

Velocidad

  • Dirección de un sprite usando coordenadas vectoriales

    • Obtener la longitud L del vector (x, y)

    • El vector unitario es:

      • X = x/L

      • Y = y/L

    • Usando el sistema de coordenadas descrito anteriormente

      • X = x/L

      • Y = -y/L


Resumen de la sesi n l.jpg

Resumen de la sesión

  • Transformación, colisión y velocidad de los sprites

    • Transformación

    • Colisión

    • Velocidad


Deseas aprender m s l.jpg

¿Deseas aprender más?

  • DigiPen Institute of Technology ofrece una variedad de vías para explorar una carrera en el desarrollo de juegos de video:

    • La serie original de webcasts sobre desarrollo de juegos - Realizada en mayo del 2005. Se puede ver en http://www.microsoft.com/events/series/msdnvideodev.mspx

    • El código de esta sesión está en http://www.digipen.edu/webcast/

    • Talleres de verano – Series de clases introductorias en programación de juegos, producción de animaciones 3D y robótica. Más información en http://workshops.digipen.edu

    • ProjectFUN Distance Learning – DigiPen tiene cursos en línea impartidos por sus instructores. Más información en http://projectfun.digipen.edu


Preguntas y respuestas l.jpg

Preguntas y respuestas

  • Proponer preguntas usando el botón “Ask a Question”

  • No te olvides de llenar la encuesta

  • Para webcasts futuros y pasados (en inglés) http://www.microsoft.com/webcasts

  • Para webcasts futuros y pasados (en castellano) http://www.microsoft.com/spanish/msdn/latam/video

  • Esta serie de webcasts está grabada en http://www.microsoft.com/spanish/msdn/latam/video/academic.asp

  • Este webcast fue presentado usando Microsoft Office LiveMeeting. Se puede obtener una prueba de 14 días gratuita en http://www.microsoft.com/presentlive


D nde se puede obtener msdn l.jpg

¿Dónde se puede obtener MSDN?

  • Llenar la encuesta al final del webcast y pedir a un representante de Microsoft que le contacte

  • Convertirse en un suscriptor de los CDs/DVDs de MSDN en http://msdn.microsoft.com/subscriptions


Control del jugador de los sprites l.jpg

Control del jugador de los sprites

Nos vemos la próxima semana para…


  • Login