在Python3中以特定分辨率播放pygame电影
我目前正在pygame(Python 3)上制作一个游戏,我希望在开始时播放一个小电影介绍。我对pygame.movie模块有几个问题,类似问题的解决方案似乎不适合我。有没有一种简单的方法可以在预先存在的屏幕上播放MPG电影 我尝试了以下代码:在Python3中以特定分辨率播放pygame电影,python,python-3.x,video,pygame,video-processing,Python,Python 3.x,Video,Pygame,Video Processing,我目前正在pygame(Python 3)上制作一个游戏,我希望在开始时播放一个小电影介绍。我对pygame.movie模块有几个问题,类似问题的解决方案似乎不适合我。有没有一种简单的方法可以在预先存在的屏幕上播放MPG电影 我尝试了以下代码: import pygame pygame.init() movie = pygame.movie.Movie('intro.mpg') screen = pygame.display.set_mode(movie.get_size()) movie_s
import pygame
pygame.init()
movie = pygame.movie.Movie('intro.mpg')
screen = pygame.display.set_mode(movie.get_size())
movie_screen = pygame.Surface(movie.get_size()).convert()
movie.set_display(movie_screen)
movie.play()
但这让python崩溃了。当我试着
import pygame
FPS = 60
pygame.init()
clock = pygame.time.Clock()
movie = pygame.movie.Movie('intro.mpg')
screen = pygame.display.set_mode(movie.get_size())
movie_screen = pygame.Surface(movie.get_size()).convert()
movie.set_display(movie_screen)
movie.play()
playing = True
while playing:
for event in pygame.event.get():
if event.type == pygame.QUIT:
movie.stop()
playing = False
screen.blit(movie_screen,(0,0))
pygame.display.update()
clock.tick(FPS)
pygame.quit()
屏幕出现了,出于某种原因,屏幕上布满了绿色的方块。我做错了什么
第二,我的电影分辨率是480*360,我玩游戏的屏幕是640*480。我想让视频占据整个屏幕——有没有办法做到这一点?您可以在表面和屏幕中央运行视频
pygame.init()
clock = pygame.time.Clock()
FPS = 20
appActive = True
movie = pygame.movie.Movie('movie.mpg')
#full screen display
mainDisplay = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
offscreen = pygame.Surface(movie.get_size())
movie.set_display(offscreen)
center = offscreen.get_rect()
center.center = mainDisplay.get_rect().center
while appActive:
mainDisplay.blit(offscreen, center)
pygame.display.update()
clock.tick(FPS)
你的代码看起来不错,我自己也试过了,效果不错。我注意到pygame在屏幕上渲染电影时非常模糊。如果屏幕尺寸不适合电影,那么它就会崩溃。到目前为止,你在控制电影大小方面运气好吗