day 4 飛機大戰 物件導向

2022-02-27 22:23:06 字數 3507 閱讀 7578

#

-*- coding:utf-8 -*-

import

pygame

import

time

from pygame.locals import *

class

heroplane(object):

'''飛機類

'''def

__init__

(self,screen_temp):

self.x = 210self.y = 500self.screen =screen_temp

self.image = pygame.image.load("

./feiji/hero1.png")

defdisplay(self):

self.screen.blit(self.image,(self.x,self.y))

defmove_left(self):

self.x -= 5

defmove_right(self):

self.x += 5

defmain():

#1.建立視窗

screen = pygame.display.set_mode((480,652),0,32) #

x=480,y=852 #0,32固定引數

#2.建立乙個背景

background = pygame.image.load("

./feiji/background.png

").convert()

#3.建立飛機

hero =heroplane(screen)

##3. 把背景放到視窗中顯示

while

true:

screen.blit(background,(0,0))

#頂點在視窗的位置

hero.display()

#x += 1

#y -= 1

## 檢測鍵盤

#獲取事件,比如按鍵等

for event in

pygame.event.get():

#判斷是否是點選了退出按鈕

if event.type ==quit:

print("

exit")

exit()

#判斷是否是按下了鍵

elif event.type ==keydown:

#檢測按鍵是否是a或者left

if event.key == k_a or event.key ==k_left:

print('

left')

hero.move_left()

#檢測按鍵是否是d或者right

elif event.key == k_d or event.key ==k_right:

print('

right')

hero.move_right()

#檢測按鍵是否是空格鍵

elif event.key ==k_space:

print('

space')

pygame.display.update()

time.sleep(0.02) #

占用cpu太多,降低點

if__name__ == "

__main__":

main()

#

-*- coding:utf-8 -*-

import

pygame

import

time

from pygame.locals import *

class

heroplane(object):

'''飛機類

'''def

__init__

(self,screen_temp):

self.x = 210self.y = 500self.screen =screen_temp

self.image = pygame.image.load("

./feiji/hero1.png")

defdisplay(self):

self.screen.blit(self.image,(self.x,self.y))

defmove_left(self):

self.x -= 5

defmove_right(self):

self.x += 5

defkey_control(hero_temp):

## 檢測鍵盤

#獲取事件,比如按鍵等

for event in

pygame.event.get():

#判斷是否是點選了退出按鈕

if event.type ==quit:

print("

exit")

exit()

#判斷是否是按下了鍵

elif event.type ==keydown:

#檢測按鍵是否是a或者left

if event.key == k_a or event.key ==k_left:

print('

left')

hero_temp.move_left()

#檢測按鍵是否是d或者right

elif event.key == k_d or event.key ==k_right:

print('

right')

hero_temp.move_right()

#檢測按鍵是否是空格鍵

elif event.key ==k_space:

print('

space')

defmain():

#1.建立視窗

screen = pygame.display.set_mode((480,652),0,32) #

x=480,y=852 #0,32固定引數

#2.建立乙個背景

background = pygame.image.load("

./feiji/background.png

").convert()

#3.建立飛機

hero =heroplane(screen)

##3. 把背景放到視窗中顯示

while

true:

screen.blit(background,(0,0))

#頂點在視窗的位置

hero.display()

#x += 1

#y -= 1

## 檢測鍵盤

key_control(hero)

pygame.display.update()

time.sleep(0.02) #

占用cpu太多,降低點

坦克大戰 day 4

fps frame per second 要每秒規固定的重新整理我們的視窗。fps 33幀 每隔30ms重新整理一次 對整個視窗進行重繪 repaint 單獨啟動乙個執行緒用於視窗的重繪。採用runnable介面的方法開啟執行緒。重寫run方法,每隔30ms呼叫repaint方法。override ...

飛機大戰 面向過程

介面 載入 按鍵事件 import pygame pygame2d遊戲 import time from pygame.locals import def main 01 screen pygame.display.set mode 480,852 0,32 1視窗 background pygam...

pygame飛機大戰4

pygame.mask.from su ce self,image 對的非透明部分做標記 pygame.sprite.spritecollide b,enemies,false,pygame.sprite.collide mask 完美檢測碰撞 me.rect.midtop,子彈生成在飛機的中間的頂...