es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Las formas de pygame.draw seguirán presentes dentro del juego si el tamaño/ radio es 0 y se detiene pygame.draw o screen.blit (mostrándolo en pantalla)?

Tengo una pregunta sobre FPS y memoria, ¿alguno de ustedes sabe si al usar listas y agregar pygame.squares/círculos/otras formas, si el radio o tamaño se minimiza y se convierte en 0 y se elimina de la lista actual, la función pygame.draw se detendrá después, pero seguirá en el juego, ¿verdad?

Entonces, si estoy creando algo como un efecto de humo de fuego (digamos que creo círculos de radio 12 con pygame.draw, los agrego a una lista, los minimizo, los elimino de la lista si el radio <= 0 y dejo de mostrarlos en la pantalla), ¿los eliminados se almacenarán mucho y ralentizarán toda la velocidad y la memoria? ¿Alguno de ustedes sabe si hay alguna solución a este problema o cómo minimizarlo? Gracias, esto me ayudará mucho.

def createparticle(self):
# hacer configuraciones de partículas – tamaño original y tamaño de atenuación y agregar dentro de una lista
self.mouseposition = pygame.mouse.get_pos()
self.x = pygame.mouse.get_pos[0]
self.y = pygame.mouse.get_pos[1]
self.fade_x = 1
self.fade_y = 1
self.radius = 12
self.ball = [[self.x, self.y], self.radius, [self.fade_x, self.fade_y]]
self.particles.append(self.ball)
def emit(self):
# ejecutar bucle, blit y mover partículas
for p in self.particles:
p[0][1] += p[2][1]
p[0][0] += p[2][0]
p[1] -= 0.2
pygame.draw.circle(self.screen, pygame.Color(‘naranja’), p[0], int(p[1]))
def deleteparticle(self):
# eliminar partícula si el tamaño es menor que 0
self.particles_copy = [p for p in self.particles if p[1] > 0]
self.particles = self.particles_copy

Tags:  ,

Answer

  1. Avatar for davy.ai

    Este enfoque debería ayudarte a minimizar el uso de memoria y acelerar el juego. La idea es crear una lista de partículas, mostrarlas en la pantalla y luego eliminarlas cuando su tamaño sea menor a 0. De esta manera, no tendrás que almacenar las partículas que ya no son visibles en la pantalla.

Comments are closed.