赞
踩
目录
windows需要下载安装,否则安装的是32位的,
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl
在Windows_64上安装64位的pyopengl 即可,pyopengl_64位下载链接:
PyOpenGL-3.1.6-cp310-cp310-win_amd64.whl
pip install pyglet
入门demo:
- import pyglet
-
- window = pyglet.window.Window()
-
- label = pyglet.text.Label('Hello, world',
- font_name='Times New Roman',
- font_size=36,
- x=window.width // 2, y=window.height // 2,
- anchor_x='center', anchor_y='center')
-
-
- @window.event
- def on_draw():
- window.clear()
- label.draw()
-
-
- pyglet.app.run()
刚刚开始学习pyglet库的使用~~~~练习一:创建窗口
- import pyglet as p
-
- #创建pyglet.window.Window实例,使用myWindow变量命来接收(类首字母大写)
- #参数对应着窗口的长、宽、标题等等。
- myWindow = p.window.Window(500,500,caption="我的窗口!!!!!!!")
- #创建pyglet.text.Lable实例,使用label变量名进行接收
- #参数对应设置标签上显示的内容,后两个参数显示在窗口的坐标为(250,250)
- label=p.text.Label("helloWorld",x=250,y=250)
-
- #使用修饰器@myWindow.event将后面定义的on_draw()方法关联到窗口对象game_win
- @myWindow.event
- def on_draw():
- #清除窗口中所有内容,窗口默认黑色背景
- myWindow.clear()
- #调用文本标签对象label的draw()方法,在窗口中绘制出文本标签的外观
- label.draw()
-
- if __name__ == '__main__':
- #调用pyglet.app.run()方法让程序进入Pyglet的默认事件循环
- p.app.run()
练习二:简单音乐播放器
- import pyglet as p
-
- #指定文件位置(相对位置、绝对位置)
- path="xxx.mp3"
- #将路径加载
- music=p.media.load(path)
- music.play()
-
- if __name__ == '__main__':
- p.app.run()
练习三:简单视频播放器
- import pyglet as p
- from pyglet.media import *
- #创建一个窗口
- window = p.window.Window(caption="我的python视频播放器")
- #创建Player()实例(对象)
- player=Player()
- #加载资源路径
- source = load("xxx.mp4")
- #将资源加载入player
- player.queue(source)
- #player播放
- player.play()
- #装饰器,将on_draw()关联到窗口
- @window.event
- def on_draw():
- #清空窗口中内容
- window.clear()
- #开始在窗口中渲染图像
- player.get_texture().blit(20,100)
-
- if __name__ == '__main__':
- #让程序进入pyglet的默认循环事件
- p.app.run()
练习四:鼠标事件
- import pyglet as p
- #创建窗口实例
- Mywindow=p.window.Window(800,800,caption="鼠标事件")
-
- #使用pyglet.resource.image()方法加载图像
- plane_img=p.resource.image("plan.png")
- #使用pyglet.resource.animation()方法加载动画图像
- fish_gif=p.resource.animation("clown-fish.gif")
-
- #使用Sprite类显示图像或动画
- plane=p.sprite.Sprite(plane_img)
- fish=p.sprite.Sprite(fish_gif)
-
- #给窗口绑定鼠标事件
- @Mywindow.event
- def on_mouse_motion(x,y,dx,dy):
-
- #获取鼠标在窗口的位置x,y 给飞机对象设置当前位置x,y 实现飞机跟随数据运动
- plane.x=x
- plane.y=y
-
- #给窗口绑定事件
- @Mywindow.event
- def on_draw():
- #清空窗口
- Mywindow.clear()
-
- #绘制飞机和动态的鱼
- plane.draw()
- fish.draw()
-
- #程序运行入口
- if __name__ == '__main__':
- p.app.run()
原文链接:https://blog.csdn.net/z7kirictol/article/details/116795231
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。