pygame 筆記 3 角色動畫及背景的使用

2021-09-08 20:27:39 字數 3526 閱讀 3285

上二節,已經知道如何控制基本的運動了,但是只有乙個很單調的方塊,不太美觀,本節學習如何載入背景圖,以及角色的動畫。

素材準備:(原自github)

角色動畫的原理:動畫都是一幀幀渲染的,比如向左走的動畫,實際是類似上圖中的l1.png~l9png 連續切換,由於肉眼視覺暫留的作用,所以看上去象連續的動畫。

好了,直接上**:(關鍵地方已經加了注釋)

import pygame

import os

pygame.init()

win_width, win_height = 640, 480

frame_per_seconds = 27 # 每秒最大幀數

win = pygame.display.set_mode((win_width, win_height))

pygame.display.set_caption("first game")

img_base_path = os.getcwd() + '/img/'

# 向右走的陣列

walkright = [pygame.image.load(img_base_path + 'actor/r1.png'),

pygame.image.load(img_base_path + 'actor/r2.png'),

pygame.image.load(img_base_path + 'actor/r3.png'),

pygame.image.load(img_base_path + 'actor/r4.png'),

pygame.image.load(img_base_path + 'actor/r5.png'),

pygame.image.load(img_base_path + 'actor/r6.png'),

pygame.image.load(img_base_path + 'actor/r7.png'),

pygame.image.load(img_base_path + 'actor/r8.png'),

pygame.image.load(img_base_path + 'actor/r9.png')]

# 向左走的陣列

walkleft = [pygame.image.load(img_base_path + 'actor/l1.png'),

pygame.image.load(img_base_path + 'actor/l2.png'),

pygame.image.load(img_base_path + 'actor/l3.png'),

pygame.image.load(img_base_path + 'actor/l4.png'),

pygame.image.load(img_base_path + 'actor/l5.png'),

pygame.image.load(img_base_path + 'actor/l6.png'),

pygame.image.load(img_base_path + 'actor/l7.png'),

pygame.image.load(img_base_path + 'actor/l8.png'),

pygame.image.load(img_base_path + 'actor/l9.png')]

# 背景

# 站立時的

char = pygame.image.load(img_base_path + 'standing.png')

x, y = 50, 350 # 起點

width, height = 64, 64 # 寬,高

speed = 5 # 速度

run = true

isjump, left, right = false, false, false

t = 10

walkcount = 0

clock = pygame.time.clock()

def redrawgamewindow():

global walkcount

win.blit(bg, (0, 0))

if walkcount >= frame_per_seconds:

walkcount = 0

if left:

# 切換向左走的

win.blit(walkleft[walkcount % 9], (x, y))

walkcount += 1

elif right:

# 切換向右走的

怎麼樣,現在看上去,有點象那麼回事兒了吧~_^

參考:

postgresql學習筆記(四)角色

1 在postgresql安裝過程中的資料初始化階段,系統會預設建立乙個名為postgres的角色 同時會建立乙個名為postgres的同名database 2 可以通過ident身份驗證機制來將作業系統的的root使用者對映到資料的postgresql角色,這樣可以實現root使用者無密碼直接登入...

oracle學習筆記四 角色管理

本來今天還不打算講oracle角色管理的,但是因為上篇筆記中提到了oracle的角色許可權,也不想讓朋友繞太多的彎子,所以這個筆記決定記下關於oracle的角色管理。首先,什麼是oracle的角色呢?解釋起來可能有點抽象,我舉個例子吧,相信朋友們一看就能了解的了,在我們現實中,有市長,局長,省長等等...

Oracle資料庫筆記(二) 角色

角色 許可權型別 1.connect 只能登入,不能建立實體和資料庫 2.resource 建立實體,不能建立資料庫 3.dba 最高許可權,都可以 練習 create user user01 identified by pass01 grant connect to user01 授權以後才可以登...