¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3697 miembros registrados.
El último usuario registrado es PapiSaig.

Nuestros miembros han publicado un total de 82060 mensajes en 11613 argumentos.
Navega con Google Chrome
[DESCARGA]

en cuanto tiempo se hace un LOOP?

 :: RPG Maker :: Ayuda RPG

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP en cuanto tiempo se hace un LOOP?

Mensaje por MaknusDave el 2013-05-10, 00:17

buenas, cuanto tarda un loop en hacer un update? lo digo por que en el loop existe una variable que hice
@wait_time = 0 ( if bla bla bla +1 ) y cuando llega a "x" numero sucede tal


Código:

      # Fade in a splashscreen
      if @show == true
        @n += 2
        @wait_time +=1
        if @n > 255 and @wait_time > 350
          @hide = true
          @show = false
          @n = 255
          @wait_time = 350
        end
      end


para mi cada 80-90 son como 1 segundo pero NI IDEA!
avatar
MaknusDave
Soñador
Soñador

2/3

Créditos 264

Gracias : 3

Volver arriba Ir abajo

RPG Maker XP Re: en cuanto tiempo se hace un LOOP?

Mensaje por youkai el 2013-05-10, 00:50

Pues eso lo define el frame rate. Por defecto el frame rate del XP es de 40fps(frames por segundo) De ahi puedes sacar la cuenta ^^
Suponiendo que el frame rate de tu juego sea 40, entonces cuando tu variable llege a 40 habra pasado aproximadamente 1 segundo de la vida real. Digo aproximadamente porque eso no es exacto, tiende a variar en dependencia de la demanda de recursos que este pidiendo el juego. Pero es basicamente eso xP
Y bueno, ya que hablamos de frame rate y eso, aprovecho para decir algo sobre el lag: el lag se produce por el consumo excesivo de recursos que provoca que el programa (o la PC) no sea capaz de aguantar, lo que produce que el frame rate del juego disminulla, por eso es que se ralentiza el juego. Xp (ni pregunten...solo tenia ganas de decirlo XDD)
Si quieres cambiar el frame rate de tu juego:
Código:
Graphics.frame_rate = ####
#### es el numero de frames por segundo que quieras darle a tu juego. Recomiendo numeros entre 40~60, mas de eso se ve raro y mas de 100, va tan rapido que empieza a correr lento el juego (?) XD
Saludos,
¥oukai
avatar
youkai
Soñador
Soñador

0/3

Créditos 280

Gracias : 10

http://sharingannf.wordpress.com/

Volver arriba Ir abajo

RPG Maker XP Re: en cuanto tiempo se hace un LOOP?

Mensaje por yoenmii el 2013-05-10, 13:05

Mira para mas precisión puedes utilizar esto:
Código:

startTime = Time.now #Tiempo de inicio
---BLOQUE A EJECUTAR AQUÍ---
endTime = Time.now #Tiempo de fin
Time = "He tardado #{(endTime - startTime)*1000} milisegundos" #Genera el mensaje
print(Time) #Muestra el mensaje
Código:

startTime = Time.now
(1..1000000).each{|n|n}
endTime = Time.now
Time = "Un loop de 1000000 tarda  #{(endTime - startTime)*1000} milisegundos"
print(Time)
avatar
yoenmii
Novato
Novato

0/3

Créditos 91

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: en cuanto tiempo se hace un LOOP?

Mensaje por Wecoc el 2013-05-10, 14:54

yoen: ¿De donde has sacado eso? xDD

Bueno también existen scripts que lo que hacen es modificar el frame_rate del juego a tu elección. En principio es útil para combatir el lag en caso de que tengas un ordenador muy malo... porque se puede modificar en cualquier momento del juego.
Aún así no se mucho cómo van éstas cosas.

Os pongo un script que hace eso, por si interesa: debug.zip

También quisiera mencionar que no en todos los RPG maker utilizan el mismo frame rate por defecto. En XP es 40, pero en VX es 60 si mal no recuerdo. En Ace ni idea, seguramente también 60 xD
avatar
Wecoc
Administrador
Administrador



Créditos 8778

Gracias : 412

Volver arriba Ir abajo

RPG Maker XP Re: en cuanto tiempo se hace un LOOP?

Mensaje por yoenmii el 2013-05-10, 15:26

@Wecoc Tu frase tiene 2 interpretaciones :facepalm: :
a)Si te refieres a que no funciona, la utilidad es que mide el tiempo que tarda en ejecutarse el bloque de código que haya donde pone "---BLOQUE A EJECUTAR AQUÍ---", con un poco de modificaciones se puede calcular cuanto tarda cada ejecución del loop.
b)Si te refieres a quien es la madre/el padre de ese fragmento de código, cuando empecé a aprender ruby para cgi, lo utilicé. De lo que no tengo ni idea es RGSS.
avatar
yoenmii
Novato
Novato

0/3

Créditos 91

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: en cuanto tiempo se hace un LOOP?

Mensaje por MaknusDave el 2013-05-10, 23:43

youkai escribió:Recomiendo numeros entre 40~60, mas de eso se ve raro y mas de 100, va tan rapido que empieza a correr lento el juego (?) XD
Saludos,
¥oukai

mmm.. me recuerda a la teoria de un observador a la velocidad de la luz xd..

lo raro fue que puse esto

Código:

 # Play ME splash-1
 @play_me_splash1 = true

  # Play ME when splash-1 is launch
  if @play_me_splash1 == true
    Audio.me_play("Audio/ME/012-Gag01", 100, 100) # Name/volume/pitch
    @play_me_splash1  = false
  end

lo que no entiendo es por que al reproducirse el sonido se congela el juego por 0.50 segundos xd ?
avatar
MaknusDave
Soñador
Soñador

2/3

Créditos 264

Gracias : 3

Volver arriba Ir abajo

RPG Maker XP Re: en cuanto tiempo se hace un LOOP?

Mensaje por Wecoc el 2013-05-10, 23:58

¿Y no podías poner solo el Audio.me_play y fuera del bucle, y ya está?
No hace falta hacer variable para todo xD

yoenmii: Me refería al b con unos toques de a. La verdad es que nunca había visto eso y me pareció raro, pero si funciona y es útil, no tengo nada qué decir al respecto xD
avatar
Wecoc
Administrador
Administrador



Créditos 8778

Gracias : 412

Volver arriba Ir abajo

RPG Maker XP Re: en cuanto tiempo se hace un LOOP?

Mensaje por MaknusDave el 2013-05-11, 00:26

Wecoc escribió:¿Y no podías poner solo el Audio.me_play y fuera del bucle, y ya está?
No hace falta hacer variable para todo xD

yoenmii: Me refería al b con unos toques de a. La verdad es que nunca había visto eso y me pareció raro, pero si funciona y es útil, no tengo nada qué decir al respecto xD

es que en realidad era para ponerlo cuando pasara cierta cantidad de tiempo

def main

# Play ME when splash-1 is launch
Audio.me_play("Audio/ME/012-Gag01", 100, 100) # Name/volume/pitch
avatar
MaknusDave
Soñador
Soñador

2/3

Créditos 264

Gracias : 3

Volver arriba Ir abajo

RPG Maker XP Re: en cuanto tiempo se hace un LOOP?

Mensaje por orochii el 2013-05-11, 03:21

Aaaah bueno, puedes hacer algo como ésto entonces... Usando un poco de lo de Yoenmii (que ya lo había visto en un script de sacar screenshots ;D)...
Código:
def initialize
  @actual_frame = 0
  @time_bck = Time.now
end

(etc)

def update
  if (Time.now - @time_bck > 0.1) #Esto es como calcular un tiempo delta xDD
    @actual_frame += 1
    @time_bck = Time.now
  end
  #Luego empezamos a poner condicionales para la animación...
  if @actual_frame < 80
    @asdf_window.x += 4 #una ventana random de ejemplo
    @asdf_window.x = 320 if @asdf_window.x > 320 #Asegurarnos que esté en posición
  end
  if @actual_frame == 100
    Audio.me_play("Audio/ME/012-Gag01", 100, 100) # Name/volume/pitch
  end
  (etc)
end
(etc etc etc)
Y hay otras formas. Puedes hacer por ejemplo nada más, usando el Graphics.frame_count, checándolo en lugar de calcular un delta. O hacer ésto...
Código:
@frame += 1 if (Graphics.frame_count%2 == 1)
Eso último hace que siempre que la cuenta de frames sea divisible entre 2 (osea, en teoría, cada 2 frames xD), se aumente 1 a nuestra variable personal de frames.
O lo otro que puedes hacer, menos complicado x'D!!. Es que, ya que es en la pantalla de título, usas la variable de Graphics.frame_count directamente para saber qué frame está xDDDDDDDDDD (DDDDD). En fin, hay varias formas... no me maténasd.

Saaaludooooosos,
Orochii Zouveleki
avatar
orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6164

Gracias : 293

http://ragnarokrproject.com/

Volver arriba Ir abajo

RPG Maker XP Re: en cuanto tiempo se hace un LOOP?

Mensaje por MaknusDave el 2013-05-11, 05:45

yo lo que habia hecho para el splash fue esto

Código:

  # Fade in a splashscreen
  if @show == true
    @n += 2
    @wait_time +=1   
    if @n > 255 and @wait_time > 250
      @hide = true
      @show = false
      @n = 255
      @wait_time = 0     
    end
  end
avatar
MaknusDave
Soñador
Soñador

2/3

Créditos 264

Gracias : 3

Volver arriba Ir abajo

RPG Maker XP Re: en cuanto tiempo se hace un LOOP?

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

Permisos de este foro:
No puedes responder a temas en este foro.