slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 5: Transformación y colisión d PowerPoint Presentation
Download Presentation
Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 5: Transformación y colisión d

Loading in 2 Seconds...

play fullscreen
1 / 24

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


  • 141 Views
  • Uploaded on

Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 5: Transformación y colisión de sprites. edgar.sanchez@logicstudio.net. Objetivos de esta serie. Dar a los participantes una introducción a algunos de los conceptos fundamentales del desarrollo de juegos

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Desarrollo de juegos de video Aprendiendo a programar en C# de manera divertida Sesión 5: Transformación y colisión d' - wren


Download Now 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

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

edgar.sanchez@logicstudio.net

objetivos de esta serie
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
Visión de esta sesión
  • Sesión 5/8 – Transformaciones, colisiones y velocidad en los sprites
    • Transformación
    • Colisión
    • Velocidad
transformaciones
Transformaciones
  • Traslaciones
  • Rotaciones
  • Escalamiento
traslaciones
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
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
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
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
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 ● x y’ = sy ●y
  • Si sx = sy tenemos un escalamiento uniforme
colisi n rectangular
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
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
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
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
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
Sistemas de coordenadas diferentes
  • Un sistema de coordenadas de pantalla tiene la parte superior izquierda en (0, 0):
sistemas de coordenadas diferentes16
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
velocidad
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
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
Resumen de la sesión
  • Transformación, colisión y velocidad de los sprites
    • Transformación
    • Colisión
    • Velocidad
deseas aprender m s
¿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
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
¿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

Control del jugador de los sprites

Nos vemos la próxima semana para…