Discord
Login
Community
DARK THEME

Como hacer una cinematica?por favor

es para la demo de mi juego.

Hay varias maneras, pero una sencilla es que mediante un contador o temporizador que va en aumento modifiques cosas de la escena, como la posición donde dibujaras un sprite, de que en un momento el sprite se mueva a la derecha, luego a la izquierda y finalmente para arriba

Por ejemplo, para todo esto tendriamos que crear un objeto llamado Cinematica y que tenga los datos que se usarán en la cinematica, como la posición del sprite x e y, y lo principal es que tenga un contador (o sea, una variable que le vas aumentando) y en este caso se llamará tiempo, ah y también debes tener algo que indique que la cinematica esta activada, o sea, una variable que le llamaré activo

También deberás tener tres funciones dentro de Cinematica las cuales serían:

iniciar: El cual al usarla inicia la cinematica y reinicia toda la escena, contador, y modifica la variable activo para que indique que la cinematica esta activada

avanzar: El cual aumenta el tiempo o contador y modifica las posiciones del sprite para la cinematica, además que desactiva la cinematica para cuando queramos que acabe esta

dibujar: El cual dibuja toda la escena de la cinematica

(Por cierto, los nombres son opcionales)

Estas funciones deben usar las variables dentro de Cinematica, llamandolas por this.x para referirnos al x de Cinematica (aunque no necesariamente debes poner el this. pero por si acaso hazlo)

Cinematica = object
  x = 0
  y = 0
  tiempo = 0
  activo = false
  
  // Para activar la cinematica
  iniciar = function()
    this.x = 0
    this.y = 0
    this.tiempo = 0 // Contador de tiempo
    this.activo = true // Indica que esta activado
  end
  
  avanzar = function()
    // Aumenta el contador
    this.tiempo+=1
    
    // El tiempo esta entre 0 y 60
    if this.tiempo < 60 then
      this.x += 1
      
    // El tiempo esta entre 90 y 140
    elsif this.tiempo > 90 and this.tiempo < 140 then
      this.x -= 2
      
    // El tiempo esta entre 140 y 230
    elsif this.tiempo >= 140 and this.tiempo < 230 then
      this.y += 10
      
    end
    
    // Desactivar la cinematica cuando llega a 230
    if this.tiempo >= 230 then
      this.activo = false
    end
  end
  dibujar = function()
    screen.clear()
    
    // Dibuja el sprite
    screen.drawSprite("icon",this.x,this.y,30,30)
  end
end

Luego para tus funciones del comienzo, o sea, hablo del update y draw, pues debes colocarle esto:

update = function()
  if Cinematica.activo then
    Cinematica.avanzar()
  end
end

draw = function()
  if Cinematica.activo then
    Cinematica.dibujar()
  end
end

Esto es para hacer avanzar y dibujar la cinematica cuando este activada, y para iniciar tu cinematica, solo usa Cinematica.iniciar()

Con ello tendrías una cinematica simple, hay otras maneras, por ejemplo, terminar las mecanicas de tu juego y luego en vez de colocar un sprite aparte, modifiques a los personajes de tu juego, los enemigos, el personaje del jugador, así como cuando estas fuera de la cinematica el jugador se mueva presionando las teclas, en la cinematica será mediante el contador

Gracias.ahora como hago que los policias(todos son el mismo sprite)tengan conversaciones diferentes o nombres?

Bueno pues eso dependerá como quieras que se vean las conversaciones, por ejemplo se podría mediante cuadros de texto, como esos juegos RPG, donde cada policia hablaria, algo como la imagen de abajo

Para esto podrías seguir usando el sistema del contador y hacer un sistema de texto, que en ciertos tiempos cambien el texto que dice cada policia, además de cambiar la foto y nombre, o también puedes hacer que el tiempo deje de aumentar (que se detenga) hasta que el jugador haga clic, para así poder continuar con el siguiente texto del dialogo entre los policias

Muchas gracias =). ahora manos ala programaciòn!

Post a reply

Progress

Status

Preview
Cancel
Post
Validate your e-mail address to participate in the community