前言
上次我们制作了简单的首页,但是不美观。运行之后是一片黑和两行字,所以今天我们就要美化程序了。
教程与代码
图片
pyglet显示图片有两种方法,但是效果都一样。第一种方法是使用pyglet.resoures.image()函数,需要一个必须参数,是图片路径。第二种方法是pyglet.image.load()函数,跟第一种差不多。(作者搞了了好久,才发现都需要用blit函数显示👎)接下来用blit函数把图片显示出来
#别说我不是原创,我只是突然发现了有引用这个功能!
import pyglet as p
w = p.window.Window(200,200)
c = p.image.load('cat.png')
@w.event
def on_draw():
w.clear()
c.blit(100,100)
#把图片显示在中间
p.app.run()
运行之后就可以把猫显示在窗口上了
形状
几乎所有gui库都可以显示形状,pyglet库也可以,我们可以使用pyglet.shapes来显示形状。shapes可以绘制很多种形状,举个例子,绘制长方形的函数为shapes.Rectangle,接下来我们用shapes和鼠标事件做一个按钮
import pyglet as p
w = p.window.Window(200,200,'自制按钮')
def button(width,height,x,y,color,text,command,window):
bg = p.shapes.Rectangle(width=width,height=height,x=x,y=y,color=color)
tt = p.text.Lable(text)
in_x = x #这里要传入参数,后面会用
in_y = y
@window.event
def on_draw():
bg.draw()
tt.draw()
@window.event
def on_mouse_click(x,y,button,modifires):
if x==in_x and y==in_y:
command()
def test()
print('点击了按钮')
button(30,50,100,100,(0,0,0),'按钮',test,w)
p.app.run()
代码
今天我们要把昨天的代码美化一下
import pyglet as p
w = p.window.Window(400,300,’小游戏’)
i1 = p.image.load('首页ui.png')
t1 = p.text.Lable(‘小游戏’,x=150,y=200)
bt1 = p.text.Lable(‘开始’,x = 200,y = 150)
bbg1 = p.shapes.Rectangle(x=200,y=150,width=50,height=30,color=(128,128,128))
def play():
‘’’开始游戏’’’
@w.event
def on_draw():
w.clear()
i1.blit(0,0)
t1.draw()
t2.draw()
bt.draw()
bbg.draw()
@w.event
def on_mouse_press(x,y,button,modifires):
play()
p.app.run()
ps网址
想做一个有个性的游戏,美图就得到位。作者的游戏素材都是在下面的网址里做的