import pygame
"""
1.鼠標(biāo)事件:
事件類(lèi)型:event.type
MOUSEBUTTONDOWN --> 鼠標(biāo)按下
MOUSEBUTTONUP --> 鼠標(biāo)彈起
MOUSEMOTION --> 鼠標(biāo)移動(dòng)
關(guān)心鼠標(biāo)的位置:event.pos
鍵盤(pán)事件
"""
import random
def rand_color():
"""隨機(jī)顏色"""
return random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)
pygame.init()
screen = pygame.display.set_mode((600, 400))
screen.fill((255, 255, 255))
pygame.display.flip()
while True:
# 只要有事件產(chǎn)生就會(huì)進(jìn)入for循環(huán)
for event in pygame.event.get():
# 根據(jù)判斷type的值來(lái)判斷是什么事件產(chǎn)生了
if event.type == pygame.QUIT:
exit()
# =================鼠標(biāo)事件=================
elif event.type == pygame.MOUSEBUTTONDOWN:
# 鼠標(biāo)按下后要做什么事情就寫(xiě)在這兒...
print('鼠標(biāo)按下:', event.pos)
pygame.draw.circle(screen, rand_color(), event.pos, random.randint(10, 40))
pygame.display.flip()
elif event.type == pygame.MOUSEBUTTONUP:
# 鼠標(biāo)按下后彈起
print('鼠標(biāo)彈起', event.pos)
elif event.type == pygame.MOUSEMOTION:
# 鼠標(biāo)移動(dòng)
print('鼠標(biāo)移動(dòng)', event.pos)
# pygame.draw.circle(screen, rand_color(), event.pos, 30)
# pygame.display.flip()
# ==================鍵盤(pán)事件======================
elif event.type == pygame.KEYDOWN:
print('按鍵按下:', event.key, chr(event.key))
elif event.type == pygame.KEYUP:
print('按鍵彈起:', event.key, chr(event.key))
import abc
"""
怎么聲明抽象類(lèi):類(lèi)繼承ABCMeta浑塞,繼承的時(shí)候需要加參數(shù)metaclass暴氏。
并且要通過(guò)abc.abstractmethod(修飾器)來(lái)聲明
抽象方法瘫怜。
子類(lèi)必須實(shí)現(xiàn)父類(lèi)的抽象方法衫生,有幾個(gè)抽象方法實(shí)現(xiàn)
幾個(gè)。
"""
class shape(metaclass=abc.ABCMeta):
# 聲明抽象方法
@abc.abstractmethod
def draw(self):
pass
class Circle(shape):
def draw(selfselef):
print('畫(huà)圖形')
"""
pygame
"""
1.初始化游戲
pygame.init()
2創(chuàng)建游戲窗口
"""
set_mode(size)-->size是元祖:(長(zhǎng)馍盟,寬),單位像素
"""
screen=pygame.display.set_mode((600,400))
"""
fill(顏色)-->填充指定的顏色,元祖(red褥芒,green,blue)
計(jì)算機(jī)使用的三原色(紅嫡良,綠锰扶,藍(lán))——>rgb顏色
紅色:(255,0,0)
綠色:(0,255,0)
白色:(255,255,255)
黑色:(0,0,0)
黃色:(255,255,0)
"""
screen.fill()
"""
a.獲取圖片大小
"""
image_width,image_height=image.get_size()
"""
b.對(duì)圖片進(jìn)行縮放
transform.scale(image,,(100,100))
c.對(duì)圖片進(jìn)行縮放和旋轉(zhuǎn)
rotozoom(圖片對(duì)象,角度寝受,比例)
比例:原圖的多少倍 放大大于1少辣,縮小小于1
"""
4.加載圖片
"""
1.加載圖片
load(加載圖片)-->返回圖片對(duì)象
"""
image=pygame.image.load('.files/luffy4.jpg')
"""
2.渲染圖片
blit(渲染對(duì)象,渲染位置)
渲染位置——>元祖羡蛾,(x坐標(biāo)漓帅,y坐標(biāo))
"""
screen.blit(image,(0,0))
"""
3.展示內(nèi)容,只要想將內(nèi)容展示在屏幕上痴怨,都必須調(diào)用這個(gè)方法
"""
pygame.display.f
3游戲循環(huán)(不斷檢查是否有事件發(fā)生)
while True:
#不斷檢測(cè)事件的產(chǎn)生
for event in pygame.event.get():
if event.type=pygame.QUIT:
exit() #程序結(jié)束