import sys # 退出遊戲需要
from pygame.
locals
import
*# 把pygame的常量名導進去
from random import
*# 隨機生成數需要
class
ball
(pygame.sprite.sprite)
:# 定義乙個球類,繼承動畫精靈基類
def__init__
(self, image, position, speed, bg_size)
: pygame.sprite.sprite.__init__(self)
self.image = pygame.image.load(image)
.convert_alpha(
)# 載入影象
self.rect = self.image.get_rect(
)# 獲取影象矩形
self.rect.left, self.rect.top = position # 獲取影象位置
self.speed = speed # 速度
self.width, self.height = bg_size[0]
, bg_size[1]
# 視窗寬高
defmove
(self)
: self.rect = self.rect.move(self.speed)
# 移動球所在矩形
"""實現小球從某側出界,從對側進來"""
if self.rect.right <0:
# 小球右邊小於左邊視窗邊界,即從右邊出去了
self.rect.left = self.width # 螢幕左邊出來
elif self.rect.left > self.width:
# 小球左邊大於右邊視窗邊界,即從左邊出去了
self.rect.right =
0# 螢幕右邊出來
elif self.rect.bottom <0:
# 小球底部座標小於0,即從上邊出去了
self.rect.top = self.height # 螢幕下邊出來
elif self.rect.top > self.height:
# 小球頂部座標大於螢幕高,即從下邊出去了
self.rect.bottom =
0# 螢幕上邊出來
defmain()
:# 主函式
pygame.init(
)# 初始化
ball_image =
"gray_ball.png"
# 灰球影象
bg_image =
"background.png"
# 背景,上有五個黑球
running =
true
# 初試running為true
bg_size = width, height =
1024
,681
# 視窗尺寸,也是背景的尺寸大小
screen = pygame.display.set_mode(bg_size)
# 繪製視窗
pygame.display.set_caption(
"玩個球"
)# 視窗名
background = pygame.image.load(bg_image)
.convert_alpha(
)# 載入背景進去
balls =
# 球列表,初始空列表
for i in
range(5
):# 遍歷0到4
# position = (left, top) 左邊和上邊的座標
position = randint(
0, width-
100)
, randint(
0, height-
100)
# 隨機生成球的座標,球大小是100×100
speed =
[randint(-10
,10), randint(-10
,10)]
# 球速度隨機-10到10
ball = ball(ball_image, position, speed, bg_size)
# 例項化上面的ball類
# 新增球到球列表
clock = pygame.time.clock(
)# 設定幀率需要用到
while running:
# 主迴圈
for event in pygame.event.get():
# 遍歷事件
if event.
type
== quit:
# ×掉視窗
sys.exit(
)# 退出遊戲
screen.blit(background,(0
,0))
# 更新影象和位置
for each in balls:
# 遍歷球類裡面的各個球
each.move(
)# 各自移動
screen.blit(each.image, each.rect)
# 更新每個球和球矩形位置
pygame.display.flip(
)# 重新整理介面
clock.tick(30)
if __name__ ==
"__main__"
: main(
)效果圖
參考部落格
部落格一部落格二
部落格三部落格四
通過css樣式實現精靈動畫
keyframes 規則用於建立動畫。在 keyframes 中規定某項 css 樣式,就能建立由當前樣式逐漸改為新樣式的動畫效果。這裡用到animation來切換css的背景 第乙個引數作用於每兩個關鍵幀之間,這裡指切換方式是一幀一幀改變。第二個引數start或end,2個引數都會選擇性的跳過前後...
對 Unity 精靈物件動畫的調研
unity 用於建立動畫精靈物件的擴充套件 2d 特徵集.精靈物件可以從獨立檔案中採用逐幀方式匯入,或者作為包含多幀的紋理圖集.幀可以方便地組裝為乙個動畫序列.unity 的動畫工具 例如 mecanim 和 animation 視窗 可用於處理大多數常見問題 動畫速度,迴圈方式以及錯誤幀修改,如此...
利用CImage類來生成精靈動畫
cimage類是atl和mfc共用的乙個類,其標頭檔案為atlimage.h,主要用於jpg png gif等格式檔案的開啟,顯示與儲存。在vs2010 vs2010支援中文變數名 和以上版本的mfc程式設計中,不需要將標頭檔案包含進來。vc6.0 vs2008建立mfc程式要使用cimage類,必...