您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何使用python做游戲的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
python的數據類型:1. 數字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型。5. 元組,元組用”()”標識,內部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數據組合。
PyGame是一個Python的庫,能夠讓你更容易的寫出一個游戲。它提供的功能包括圖片處理和聲音重放的功能,并且它們能很容易的整合進你的游戲里。去官網點擊這里下載適合你的PyGame安裝包。
1 .創建游戲框架以及游戲背景
#這個模塊放一些常用的工具和基礎類和精靈類 #在其他模塊調用 import pygame import random #設置游戲屏幕大小 這是一個常量 SCREEN_RECT = pygame.Rect(0,0,580,700) #敵機的定時器事件常量 CREATE_ENEMY_EVENT = pygame.USEREVENT #定制一個精靈類,需要繼承pygame提供的精靈類 #需要定義的屬性有: #image圖片 #rect坐標 #speed速度 #接下來開始寫敵機方面的內容 產生敵機 #先定義一個事件常量 CREATE_ENEMY_EVENT = pygame.USEREVENT #我們還可以定義一個事件常量(發射子彈) HERO_FIRE_EVENT = pygame.USEREVENT + 1 class GameSprite(pygame.sprite.Sprite): def __init__(self,new_image,new_speed=1): super().__init__() #圖片 self.image = pygame.image.load(new_image) #速度 self.speed = new_speed #位置 獲取圖片的寬和高 get_rect()(0,0,寬,高) self.rect = self.image.get_rect() #精靈移動的速度 包括英雄精靈 背景精靈 敵機精靈 子彈精靈 self.speed = new_speed def update(self): #默認垂直方向移動 y軸控制垂直方向 self.rect.y += self.speed #self.rect.x += 1 #以上是游戲的基礎類,接下來設置背景類 #明確背景類繼承自游戲的精靈類 class Background(GameSprite): def __init__(self,is_alt = False): #is_alt判斷是否為另一張圖像 #False表示第一張圖像 #Ture表示另外一張圖像 #兩張圖像交替循環 #傳圖片 super().__init__("/home/zhangyuan/下載/beijing.png") if is_alt: #如果是第二張圖片 初始位置為-self.rect.height self.rect.y = -self.rect.height #def __init__(self,new_image): # super().init__(new_image) def update(self): #調用父類方法 super().update() if self.rect.y >= SCREEN_RECT.height: self.rect.y = -self.rect.height
2 .創建敵機精靈
class Enemy(GameSprite): def __init__(self): super().__init__("/home/zhangyuan/images/enemy1.png") #隨機速度 self.speed = random.randint(10, 15) #設置敵機的初始位置 self.rect.left = SCREEN_RECT.width max_ = SCREEN_RECT.height -self.rect.height self.rect.bottom = random.randint(0, max_) def update(self): panduan = random.randint(0, 1) if panduan == 0: self.rect.y -= self.speed self.rect.x -= self.speed else: self.rect.y += self.speed self.rect.x -= self.speed #判斷敵機是否飛出屏幕 如果飛出屏幕將敵機從精靈組刪除 if self.rect.y >= SCREEN_RECT.height or self.rect.right <=0 or self.rect.bottom <=0: self.kill()
3 .創建英雄精靈
class Bullet(GameSprite): def __init__(self): super().__init__("/home/zhangyuan/images/bullet1.png",-5) def update(self): super().update() #判斷是否超出屏幕 如果是 從精靈組刪除 if self.rect.bottom < 0: self.kill()
5 .碰撞檢測
#第一個參數和第二個參數是要參與碰撞檢測的精靈 #第三個參數為Ture的時候 就是當碰撞的時候被碰撞的精靈從精靈組移除 pygame.sprite.groupcollide( self.enemy_group,self.hero.bullet, True, True)#子彈 #判斷列表時候有內容 if len(enemies)>0: #讓英雄犧牲 self.hero.kill() #結束游戲 PlaneGame.__game_over() @staticmethod def __game_over(): print("游戲結束") #這是pygame提供的卸載模塊功能 pygame.quit() #這是pygame本身提供的退出腳本的功能 exit() #需要先卸載pygame模塊 然后退出腳本 if __name__ == "__main__": game = PlaneGame() game.star_game()
感謝各位的閱讀!關于“如何使用python做游戲”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。