昨天我們繪製完成了遊戲的基本影象,今天繼續分享
先貼上昨天的執行結果
繼續我們今天的分享,先來分享一下遊戲時鐘
我們平時看到的遊戲畫面都是動態的,那麼如果我們要看到畫質比較清晰,那麼每秒我們的遊戲畫面就要重新整理60次以上,
所以我們就要設定遊戲的重新整理幀率
再來說一下我們的螢幕重新整理該放在**,昨天說到我們設定了乙個遊戲迴圈,那麼我們需要達到每秒60次的重新整理頻率,
只需要在遊戲迴圈中操作即可
在遊戲初始化建立乙個時鐘物件
在遊戲迴圈中讓時鐘物件呼叫tick(幀率)方法
tick方法會根據上次被呼叫的時間,自動設定遊戲迴圈中的延時
下面貼上**
# 建立時鐘物件
clock = pygame.time.clock()
# 遊戲迴圈--遊戲正式開始
while true:
clock.tick(60)
pass
接下來先說一下pygame.rect()方法,
需要傳四個引數分別為的 x軸位置,y軸位置,的寬,的高
下面貼上做個示範
貼上**
import pygame as pygame
pygame.init()
# 定義飛機大戰遊戲視窗,設定視窗寬高
fly_screen = pygame.display.set_mode((480,700))
# 繪製背景影象
# 1.載入影象資料
background = pygame.image.load("./images/background.png")
# 2.blit方法繪製影象
fly_screen.blit(background,(0,0))
# 3.update更新螢幕顯示
# pygame.display.update()
# 繪製飛機影象
fly_hero = pygame.image.load("./images/me1.png")
hero_rect = pygame.rect(150,500,102,126)
fly_screen.blit(fly_hero,hero_rect)
pygame.display.update()
# 建立時鐘物件
clock = pygame.time.clock()
# 遊戲迴圈--遊戲正式開始
while true:
# 指定迴圈體內部**執行頻率
clock.tick(60)
# 修改飛機位置
hero_rect.y -= 1
# 判斷飛機的位置
if hero_rect.y <= 0:
hero_rect.y = 700
# 呼叫blit方法繪製影象
fly_screen.blit(background,(0,0))
fly_screen.blit(fly_hero,hero_rect)
# 更新顯示
pygame.display.update()
pass
pygame.quit()
再對上面的影象效果進行以下優化,讓英雄飛機完全飛出螢幕以後,再從底部出現
貼上**
# 判斷飛機的位置 botten = y+height
if hero_rect.bottom <= 0:
hero_rect.y = 700
捕獲使用者所做的的操作,然後做出應對。
貼上**
# 捕獲時間
event_list = pygame.event.get()
if len(event_list) > 0:
print(event_list)
貼上結果圖
今天就分享到這裡,加油!!!
學習Python之小練習(飛機大戰)(4)
今天接著更新小遊戲 用物件導向的方法進行遊戲框架搭建 根據遊戲主程式職責,設計planegame類 新建 plane main.py 主程式檔案,在其中寫入遊戲主程式 附上 裡面有注釋,都挺詳細的 plane main 遊戲主程式 coding utf 8 import pygame from pl...
Python 學習 小例子練習
網上了點小例子,練習一下下,都是特別簡單的。而且這些 也都是找的網上的 目的是在於練習一下python和熟悉下python的編碼風格等等 學習一門語言,最快的方法就是把它用在世界的開發中,這樣才能不斷的理解,積累,單純的靠看書,感覺是沒有太大的用途的一點一點慢慢來 第乙個,有1 2 3 4個數字,能...
python學習之相關練習
1.用物件導向的方式實現堆疊的資料結構 後進先出 指令碼編寫如下 class stack object 將棧定義為乙個類 def init self,stack self.stack stack defmanystack self,args 進棧方法 self.stack.extend args d...