그래서 나는 위로 움직이는 원을 만들어내는이 미니 입자 효과를 가지고 있습니다. 연기처럼 보이게하고 싶습니다. 나는 많은 문제를 겪고있다.파이 게임 입자 효과
- 우선 나는 그것이 재귀 입자가 최고 그것을 원래의 자리에 수익률에 도달하고 다시 시작할 때, 내가 가지고있는 것은 조금 작동하지만 정확히 있도록 만들고 싶어.
- 다른 점은 연기처럼 보일 것 같은 느낌이 들지 않습니다. 누군가가 더보기 좋게하기 위해 변경 사항을 제안 할 수 있습니까?
- 또한 이것을 게임에 추가하고 싶습니다.이 게임을 내 게임에 대해 호출 가능하게 만들면 어떻게하면 입자를 호출하고 위치를 지정하여 표시 할 수 있습니까? 누구든지 이것에 도움이 될 수 있습니까?
내 코드
import pygame,random
from pygame.locals import *
xmax = 1000 #width of window
ymax = 600 #height of window
class Particle():
def __init__(self, x, y, dx, dy, col):
self.x = x
self.y = y
self.col = col
self.ry = y
self.rx = x
self.dx = dx
self.dy = dy
def move(self):
if self.y >= 10:
if self.dy < 0:
self.dy = -self.dy
self.ry -= self.dy
self.y = int(self.ry + 0.5)
self.dy -= .1
if self.y < 1:
self.y += 500
def main():
pygame.init()
screen = pygame.display.set_mode((xmax,ymax))
white = (255, 255, 255)
black = (0,0,0)
grey = (128,128,128)
particles = []
for part in range(25):
if part % 2 > 0: col = black
else: col = grey
particles.append(Particle(random.randint(500, 530), random.randint(0, 500), 0, 0, col))
exitflag = False
while not exitflag:
for event in pygame.event.get():
if event.type == QUIT:
exitflag = True
elif event.type == KEYDOWN:
if event.key == K_ESCAPE:
exitflag = True
screen.fill(white)
for p in particles:
p.move()
pygame.draw.circle(screen, p.col, (p.x, p.y), 8)
pygame.display.flip()
pygame.quit()
if __name__ == "__main__":
main()
내 의견으로는, 이것은 연기처럼 보이지 않습니다. 마치 연기가 많은 구름처럼 보이지만, 화재가 난 프로그램에 넣으면 연기처럼 보이지 않는 것처럼 보입니다. 그것은 단지 튀는 분야의 무리처럼 보일 것입니다. 그러나, 당신은 당신 자신의 견해를 가질 수 있고 그것에 대해 할 수있는 일이별로 없습니다. – PygameNerd
@PygameNerd 네, 동의합니다. 이것은 연기와 같은 방식은 아닙니다. 그러나 방향에 중력을 적용하여 (업데이트가 올라옴), 나는 당신과 비슷한 결과를 얻을 수 있습니다. 그건 그렇고, 내 의견으로는 무슨 뜻이야? 그의 질문을 자세히 읽지는 않았지만 그것을 지적하기 위해 코드를 변경해야합니다. – pradyunsg
@PygameNerd 그래, 내가 완전히 틀렸어. 이건 그의 문제를 해결하는 방법이 아니야. – pradyunsg