¡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
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Últimos temas
» Necesito Script
por Elian84 Hoy a las 04:44

» Holaaa a tod@s!!!
por chronoMxx Hoy a las 03:41

» [AYUDA]Hootshot de moghunter
por Rudy_kinneas Hoy a las 01:06

» El poder oculto (Segunda entrega)
por alex1633 Ayer a las 23:18

» Tutorial Interactivo [Uso de interruptores]
por alex1633 Ayer a las 19:39

» Hola mucho gusto
por Hk Diamond Ayer a las 13:49

» SoraDeathss se presenta!
por chronoMxx Ayer a las 07:50

» {AYUDA}Blizz-ABS Script
por chronoMxx Ayer a las 06:45

» las cosas como son...
por Bleuw Ayer a las 04:18

» Busco artistas graficos para proyecto serio
por Rudy_kinneas 2016-12-02, 20:52

Afiliados
Estadísticas
Tenemos 3381 miembros registrados.
El último usuario registrado es Hk Diamond.

Nuestros miembros han publicado un total de 79767 mensajes en 11247 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!

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

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)

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

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

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.

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 ?

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

Wecoc
Administrador
Administrador



Créditos 8263

Gracias : 372

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

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

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.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

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 Hoy a las 06:10


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.