어떻게 Python pygame 을 바탕 으로 애니메이션 주마등 을 실현 합 니까?
리본 떨 어 지 는 거 다 들 보 셨 죠?이것 은 비교적 경 사 스 러 운 자리 에서 흔히 볼 수 있다.
그리고'주마등'효과 도 있 습 니 다.낯 설 게 들 리 지만 흔히 볼 수 있 습 니 다.다음은:
자,모두 가 초보적인 인식 을 가지 고 있 을 거 라 고 믿 습 니 다.물론 전단 을 하거나 디자인 을 하 는 친구 가 있다 면 위의 효 과 는 어렵 지 않 을 것 입 니 다.파 이 썬 을 통 해?호출 할 수 있 는 가방 이 있 습 니까?
답 은 있다--pygame
이 가방 은 게임 개발 에 적합 합 니 다.오늘 은 여러분 에 게 상세 하 게 소개 하지 않 을 생각 입 니 다.아니면 모두 에 게 긴장 을 풀 어 주 고 나중에 기회 가 있 으 면 다시 쓸 생각 입 니 다.
더 이상 말 하지 않 고 코드 를 꺼 냅 니 다.
import pygame
from random import randint, choice
screen_length = 700
screen_width = 500
# ,
class Word_drop(pygame.sprite.Sprite):
# : 、 、 、
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.font = pygame.font.SysFont(name=' ', size=10, bold=True, italic=True)
self.speed = randint(15, 30)
self.word = self.getWord()
self.image = self.font.render(self.word, True,
(randint(0, 255), randint(0, 255), randint(0, 255)))
self.image = pygame.transform.rotate(self.image, randint(87, 93))
self.rect = self.image.get_rect()
self.rect.topleft = (randint(0, screen_length), -20)
#
def getWord(self):
length = randint(1, 8)
word = ''
for i in range(length):
word += choice('qwertyuiopasdfghjklzxcvbnm1234567890QWERTYUIOPASDFGHJKLZXCVBNM')
return word
#
def update(self, *args):
self.rect = self.rect.move(0, self.speed)
if self.rect.top > screen_length:
self.kill()
# " "
def word_translate(jx, ztw1, ztw2, screen_length, text):
max_ztw = max(ztw1, ztw2)
jx.x -= 5
if jx.x < 0 - max_ztw:
jx.x = (screen_length + 10)
screen.blit(text, [jx.x, jx.y])
if __name__ == '__main__':
#
pygame.init()
pygame.font.init()
# ,
a = pygame.font.SysFont(name=' ', size=50, bold=True, italic=True)
word1 = " "
text1 = a.render(word1, True, (255, 0, 0), (0, 0, 0))
word2 = " "
text2 = a.render(word2, True, (255, 0, 0), (0, 0, 0))
# " "
_, _, ztw1, zth1 = text1.get_rect()
jx1 = pygame.Rect(screen_length, (screen_width / 2 - zth1), ztw1, zth1)
_, _, ztw2, zth2 = text2.get_rect()
jx2 = pygame.Rect(screen_length, (screen_width / 2), ztw2, zth2)
#
screen = pygame.display.set_mode((screen_length, screen_width))
clock = pygame.time.Clock()
wordGroup = pygame.sprite.Group()
while True:
clock.tick(30)
screen.fill((0, 0, 0))
#
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit(0)
#
word_object = Word_drop()
wordGroup.add(word_object)
wordGroup.update()
wordGroup.draw(screen)
# " "
word_translate(jx1, ztw1, ztw2, screen_length, text1)
word_translate(jx2, ztw1, ztw2, screen_length, text2)
pygame.display.update()
자,효과 좀 봅 시다.괜 찮 죠?재 밌 지 않 아 요?
물론 필요 하 다 면 코드 를 직접 가 져 가서 사용 하고 자신의 생각 에 따라 고치 면 됩 니 다!
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.