用Tkinter打造GUI开发工具(38)Tkinter中的PyGame组件 程序运行结果. #独狼荷蒲qq:2775205
前面文章,我们介绍了Tkinter中的turtle组件,即在Tkinter窗口中运行turtle库的代码,并显示到Tkinter窗口上.
见前面文章<用Tkinter打造GUI开发工具(32)Tkinter中的turtle组件>
https://blog.csdn.net/hepu8/article/details/106322590
既然Tkinter能运行turtle程序,那么Tkinter也支持PyGame库在Tkinter窗口上运行PyGame游戏.
这个模块包含在HP_pygame模块中.
我们下面直接给出演示代码:import tkinter as tk import os import pygame as pg from pygame.locals import * import HP_pygame as hpg root = tk.Tk() root.title('HP_Pygame演示') root.geometry('{}x{}+{}+{}'.format(800, 600, 100, 200)) text = tk.Button(root, text='演示') text.pack() pp=hpg.pygameview(root) pp.pack(fill=tk.BOTH, expand=tk.YES) pp.update() #必须先写,不然不显示控件 pp.set_mode(600, 500 ) def game(fr): pos = 0 while 1: fr.screen.fill(pg.Color(0,0,0)) pos = (pos + 1) % fr.screen.get_width() pg.draw.circle(fr.screen, pg.Color(255,255,255), (pos,100), 30) pg.display.flip() pg.display.update() #fr.update() # 从消息队列中循环取 for event in pg.event.get(): if event.type == pg.QUIT: pg.quit() fr.master.destray() if (event.type == pg.KEYDOWN or event.type == pg.MOUSEBUTTONDOWN): pg.quit() root.destray() import pygame def game2(fr): size = width, height = 600,400 speed = [-2,1] #背景设置,全白 bg = (255,255,255) #创建指定大小的窗口 Surface对象 screen = pygame.display.set_mode(size) #设置窗口标题 pygame.display.set_caption("弹弹弹,小游戏!") #加载图片 gamemaster = pygame.image.load("img1/png1042.jpg") #获得图像的位置矩形 position = gamemaster.get_rect() l_head = gamemaster r_head = pygame.transform.flip(gamemaster,True,False) #事件,终止事件 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: exit() if event.type == KEYDOWN: if event.key == K_LEFT: gamemaster = l_head speed = [-2,1] if event.key == K_RIGHT: gamemaster = r_head speed = [2,-1] if event.key == K_UP: speed = [1,-2] if event.key == K_DOWN: speed = [-1,2] elif event.type == KEYUP: #speed =[-2,1] pass #移动图像 position = position.move(speed) if position.left <0 or position.right > width: #图像翻转 gamemaster,True,False 左右翻转 上下不翻转 gamemaster = pygame.transform.flip(gamemaster,True,False) #反方向移动 speed[0] = -speed[0] if position.top <0 or position.bottom >height: #反方向移动 speed[1] = -speed[1] #填充背景 screen.fill(bg) #更新图像 screen.blit(gamemaster,position) #更新界面 pygame.display.flip() #延时10ms pygame.time.delay(10) hpg.thread_it(game2(pp)) root.mainloop()
现在你感觉是不是Tkinter的功能很强大呢?
#通通小白python量化群:524949939
#电话微信:18578755056
#微信公众号:独狼股票分析
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算