86 動畫精靈

2021-10-08 13:23:13 字數 3183 閱讀 2245

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類,必...