1说明: 1。1安装pipinstallpyglet 1。2相关地址https:pypi。orgprojectpyglethttp:pyglet。orghttps:github。compygletpyglet 1。3介绍 1。3。1是python的游戏三大库之一,适合游戏动画,1D,2D,3D设计。 1。3。2一个python下的多媒体框架,属于轻量级别,可以轻易的做出交互丰富的应用。比pygame,panda3d更容易学习和掌握。 22d动画散步的精灵。 2。1代码:dinosaur。py网上gif下载地址Thedinosaur。giffilepackagedalongsidethisscriptisinthepublicdomain,itwasobtainedfromhttp:www。gifanimations。com。导入模块importsysimportpyglet定义系统加载图片地址iflen(sys。argv)1:Loadtheanimationfromfilepath。animationpyglet。image。loadanimation(sys。argv〔1〕)texturebinpyglet。image。atlas。TextureBin()animation。addtotexturebin(texturebin)else:文件与py文件在同一个目录,这是pyglet的特色之处animationpyglet。resource。animation(dinosaur。gif)定义精灵sprite和导出精灵模块spritepyglet。sprite。Sprite(animation)定义窗口和大小windowpyglet。window。Window(窗口标题名caption散步的精灵动画,窗口大小可调节resizableTrue,width8sprite。width,height8sprite。height)Setwindowbackgroundcolortowhite。设置窗口背景颜色为白色pyglet。gl。glClearColor(1,1,1,1)默认背景颜色是黑色,注释掉就是黑色window的装饰器法window。eventdefondraw():window。clear()sprite。draw()启动pyglet。app。run() 2。2dinosaur。gif,注意与上面的py文件放在同一个目录下 2。3效果图 3Label设置 代码:多种方法显示label,代码注释中有讲解。方法一importpygletwindowpyglet。window。Window()labelpyglet。text。Label(Hello,world,fontnameTimesNewRoman,fontsize36,xwindow。width2,ywindow。height2,anchorxcenter,anchorycenter)在一个相同名字的函数上使用Window。event装饰器window。eventdefondraw():window。clear()label。draw()pyglet。app。run()方法二importpygletasptwindowpt。window。Window()默认窗口大小winpt。window。Window(1000,1000)指定窗口大小labelpt。text。Label(Hello,world,fontnameTimesNewRoman,fontsize36,xwin。width2,ywin。height2,anchorxcenter,anchorycenter)在一个相同名字的函数上使用Win。event装饰器这个装饰器的win就是上面定义winwin。eventdefondraw():win。clear()label。draw()pt。app。run()方法三importpygletasptwinpt。window。Window(窗口大小设置width1000,height1000,窗口标题名caption第一个窗口,窗口大小可调节resizableTrue)labelpt。text。Label(Hello,world,fontnameTimesNewRoman,fontsize36,xwin。width2,ywin。height2,anchorxcenter,anchorycenter)ifnamemain:pt。app。run()label。draw()方法四importpygletgamewindowpyglet。window。Window(width1000,height1000,caption第一个窗口,resizableTrue)创建Label对象labelpyglet。text。Label(Hello,world,fontsize25,字体不指定,使用默认的,大小为25xgamewindow。width2,ygamewindow。height2,anchorxcenter,anchorycenter)defshowlabel():将初始的窗口内容删除gamewindow。clear()添加文本,重新绘制窗口label。draw()重写ondraw方法,以后就会执行我们在showlabel里面指定的代码setattribute的意思setattr(gamewindow,ondraw,showlabel)ifnamemain:pyglet。app。run() 4照片显示 代码导出模块importpyglet窗口定义windowpyglet。window。Window()采用默认方法windowpyglet。window。Window(窗口大小设置width1000,height1000,窗口标题名caption照片显示,窗口大小可调节,默认是False,不可调节resizableTrue)定义照片注意特别之处,文件py与jpg在同一个目录下一般这种都在根目录下,或者指定路径和目录imagepyglet。resource。image(1221。jpg)装饰器法显示window。eventdefondraw():window。clear()image。blit(0,0)pyglet。app。run() 1221。jpeg plglet照片显示 5计时器,代码定义计时器importpyglet定义窗口全屏windowpyglet。window。Window(fullscreenTrue)哈哈哈,deepinlinux的录屏不支持这种全屏windowpyglet。window。Window(窗口大小设置width1000,height1000,窗口标题名caption计时器,窗口大小可调节resizableTrue)定义计时器classTimer:初始化定义definit(self):self。labelpyglet。text。Label(00:00,fontsize100,xwindow。width2,ywindow。height2,anchorxcenter,anchorycenter)self。reset()定义重设函数defreset(self):self。time0self。runningFalseself。label。text00:00self。label。color(255,255,255,255)定义更新韩式defupdate(self,dt):ifself。running:self。timedtpythonpmod()函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(ab,ab)。m,spmod(self。time,60)self。label。text02d:02d(m,s)ifm5:self。label。color(180,0,0,255)window。event定义窗口按钮函数defonkeypress(symbol,modifiers):空格键按钮定义,点击开始,再点击暂停ifsymbolpyglet。window。key。SPACE:iftimer。running:timer。runningFalseelse:iftimer。time0:timer。reset()else:timer。runningTrueelifsymbolpyglet。window。key。ESCAPE:window。close()window。eventdefondraw():window。clear()timer。label。draw()timerTimer()pyglet。clock。scheduleinterval(timer。update,130。0)pyglet。app。run() 效果图 未完待续 下次讲讲pyglet的坑的问题,哈哈哈哈。先分享出来,喜欢就转发和收藏