資源簡介
學習Python版的飛機大戰的,里面含有飛機大戰的全部素材及飛機大戰源碼

代碼片段和文件信息
from?飛機大戰.plane_sprites?import?*
class?PlaneGame(object):
????“““飛機大戰主游戲類“““
????def?__init__(self):
????????“““游戲初始化“““
????????#?1.創建游戲游戲窗口
????????self.screen?=?pygame.display.set_mode(SCREEN_RECT.size)
????????#?2.創建游戲時鐘
????????self.clock?=?pygame.time.Clock()
????????#?3,調用私有方法,精靈和精靈組創建
????????self.__create_sprites()
????????#?4.設置定時器事件?-創建敵機??1s
????????pygame.time.set_timer(CREATE_ENEMY_EVENT?1000)
????????#?5.設置定時器事件?-創建子彈??0.5s
????????pygame.time.set_timer(CREATE_BULLET_EVENT?500)
????def?start_game(self):
????????“““啟動游戲“““
????????while?True:
????????????#?1.設置刷新幀率
????????????self.clock.tick(frame_PER_SEC)
????????????#?2.事件檢測
????????????self.__event_handler()
????????????#?3.碰撞檢測
????????????self.__check_collode()
????????????#?4.更新/繪制精靈組
????????????self.__update_sprites()
????????????#?5.更新顯示
????????????pygame.display.update()
????def?__create_sprites(self):
????????“““精靈和精靈組創建“““
????????#?創建背景精靈和精靈組
????????bg1?=?Background()
????????bg2?=?Background(True)
????????self.back_group?=?pygame.sprite.Group(bg1?bg2)
????????#?創建敵機的精靈組,因為精靈在定時器中會定時創建
????????self.enemy_group?=?pygame.sprite.Group()
????????#?創建英雄精靈和精靈組
????????self.hero?=?Hero()
????????self.hero_group?=?pygame.sprite.Group(self.hero)
????def?__event_handler(self):
????????“““事件檢測“““
????????#?獲得所有事件
????????event_list?=?pygame.event.get()
????????#?遍歷事件
????????for?event?in?event_list:
????????????#?1.判斷是否是退出游戲
????????????if?event.type?==?pygame.QUIT:
????????????????self.__game_over()
????????????#?2.判斷是否是創建敵機的定時器
????????????if?event.type?==?CREATE_ENEMY_EVENT:
????????????????#?1.創建敵機精靈
????????????????enemy?=?Enemy()
????????????????#?2.將敵機精靈添加到敵機精靈組
????????????????self.enemy_group.add(enemy)
????????????#?3.判斷用戶按下的鍵是向左還是向右
????????????“““
????????????#?方法一:按一次觸發一次
????????????if?event.type?==?pygame.KEYDOWN:
????????????????if?event.key?==?pygame.K_LEFT:
????????????????????#?向左移動
????????????????????print(“向左移動“)
????????????????if?event.key?==?pygame.K_RIGHT:
????????????????????#?向右移動
????????????????????print(“向右移動“)
????????????“““
????????????#?方法二:按下會一直觸發事件
????????????#?獲取鍵盤按鍵元組
????????????keys_pressed?=?pygame.key.get_pressed()
????????????#?判斷元組中對應的按鍵索引值是否是1
????????????if?keys_pressed[pygame.K_RIGHT]:
????????????????#?向右移動
????????????????self.hero.speed?=?4
????????????elif?keys_pressed[pygame.K_LEFT]:
????????????????#?向左移動
????????????????self.hero.speed?=?-4
????????????else:
????????????????#?不移動
????????????????self.hero.speed?=?0
????????????#?4.判斷是否英雄發射子彈的定時器
????????????if?event.type?==?CREATE_BULLET_EVENT:
????????????????#?英雄發射子彈
????????????????self.hero.fire()
????def?__check_collode(self):
????????“““碰撞檢測“““
????????#?調用碰撞檢測方法
????????#?檢測敵機和子彈的碰撞,碰撞后都消失
????????collide?=?pygame.sprite.groupcollide(self.hero.bullets?self.enemy_group?True?True)
????????#?print(collide)
????????#?檢測敵機和英雄的碰撞,碰撞后英雄死亡
????????enemies?=?pygame.sprite.spritecollide(self.hero?self.enemy_group?True)
????????#?如果發生碰撞,英雄犧牲退出游戲
????????if
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-09-22?19:20??Python版的飛機大戰\
?????目錄???????????0??2018-09-22?19:19??Python版的飛機大戰\images\
?????文件????????7444??2018-09-07?14:39??Python版的飛機大戰\images\New?Atlas.png
?????文件???????31443??2018-09-20?11:47??Python版的飛機大戰\images\background.png
?????文件??????427573??2018-09-07?14:39??Python版的飛機大戰\images\bg.png
?????文件????????2658??2018-09-07?14:39??Python版的飛機大戰\images\bomb-1.gif
?????文件????????2067??2018-09-07?14:39??Python版的飛機大戰\images\bomb-2.gif
?????文件????????5600??2018-09-07?14:39??Python版的飛機大戰\images\bomb.png
?????文件????????8948??2018-09-07?14:39??Python版的飛機大戰\images\btn_finish.png
?????文件?????????122??2018-09-07?14:39??Python版的飛機大戰\images\bullet-1.gif
?????文件?????????151??2018-09-07?14:39??Python版的飛機大戰\images\bullet-2.gif
?????文件?????????401??2018-09-07?14:39??Python版的飛機大戰\images\bullet-3.gif
?????文件???????23131??2018-09-07?14:39??Python版的飛機大戰\images\bullet.png
?????文件?????????490??2018-09-07?14:39??Python版的飛機大戰\images\bullet1.png
?????文件?????????498??2018-09-07?14:39??Python版的飛機大戰\images\bullet2.png
?????文件???????29625??2018-09-07?14:39??Python版的飛機大戰\images\button_nor.png
?????文件???????28998??2018-09-07?14:39??Python版的飛機大戰\images\button_p.png
?????文件????????1678??2018-09-07?14:39??Python版的飛機大戰\images\enemy-1.gif
?????文件????????2829??2018-09-07?14:39??Python版的飛機大戰\images\enemy-2.gif
?????文件???????13927??2018-09-07?14:39??Python版的飛機大戰\images\enemy-3.gif
?????文件????????2970??2018-09-07?14:39??Python版的飛機大戰\images\enemy0.png
?????文件????????3423??2018-09-07?14:39??Python版的飛機大戰\images\enemy0_down1.png
?????文件????????3863??2018-09-07?14:39??Python版的飛機大戰\images\enemy0_down2.png
?????文件????????5305??2018-09-07?14:39??Python版的飛機大戰\images\enemy0_down3.png
?????文件????????1730??2018-09-07?14:39??Python版的飛機大戰\images\enemy0_down4.png
?????文件????????8117??2018-09-07?14:39??Python版的飛機大戰\images\enemy1.png
?????文件???????10477??2018-09-07?14:39??Python版的飛機大戰\images\enemy1_down1.png
?????文件???????11696??2018-09-07?14:39??Python版的飛機大戰\images\enemy1_down2.png
?????文件???????13388??2018-09-07?14:39??Python版的飛機大戰\images\enemy1_down3.png
?????文件????????3429??2018-09-07?14:39??Python版的飛機大戰\images\enemy1_down4.png
?????文件????????9183??2018-09-07?14:39??Python版的飛機大戰\images\enemy1_hit.png
............此處省略43個文件信息
評論
共有 條評論