好吧, 首先得認可這個題目寫的誇大了,人才菜鳥一枚,遊戲相關編程也是知道點概念。可是本人對遊戲開發比較感興趣,相信大多數喜歡玩玩遊戲,由於它給人確實帶來不少樂趣,而編程語言的學習最少對於我來講比較乏味了,因此學一門新語言我通常找點小東西實踐一下來增長點學習的動力。今天偶然看到一本書確實值得推薦,介紹python入門和pygame的不錯的外文書籍。傳送門在此:http://cs.simpson.edu/files/CS_Intro_Book.pdf。python
這裏推薦這本入門書,由於它反覆穿插了python基本語法和pygame的示例學習,我以爲這種文章組織形式確實比通常的入門介紹書籍更容易接受(對於本人來講的確如此,不知不覺1小時看了三分之一了)。作個最簡單的小遊戲不只熟悉了python語法並且學到了遊戲編程中的簡單的圖形學的只是,對於遊戲開發的基礎掌握仍是頗有幫助滴。有人可能會問到了,又引入pygame這個新框架是否是又要花大時間去熟悉它呢,其實根本不須要,由於這個框架是比較簡單和易懂的 ,只須要查幾個經常使用的接口函數和方法就能輕鬆寫一個簡單的遊戲demo了,固然有其餘遊戲引擎知識的話,更不在話下了。其實這本書主要適合對象仍是python學習的入門者,經過比較有趣的例子不只學到了python語法並且鍛鍊了 遊戲邏輯的實現和圖形開發的基礎知識,在此基礎上你也能夠改進示例,豐富遊戲的內容了。以一個簡單的示例介紹一下吧,默寫書中一個最簡單動畫入門的例子(雪花飄落)以下:編程
1 import pygame 2 pygame.init() 3 width, height = 640, 640 4 green=[0,255,0] 5 import random 6 screen=pygame.display.set_mode((width, height)) 7 done=False 8 pos_x=20 9 start_list=[] 10 clock=pygame.time.Clock() 11 for i in range(50): 12 x=random.randrange(0,640) 13 y=random.randrange(0,640) 14 start_list.append([x,y]) 15 while done == False: 16 screen.fill([0,0,0]) 17 for event in pygame.event.get(): 18 # check if the event is the X button 19 if event.type==pygame.QUIT: 20 # if it is quit the game 21 done = True 22 for i in range(len(start_list)): 23 pygame.draw.circle(screen,green,start_list[i],2) 24 start_list[i][1]+=1 25 if start_list[i][1]>640: 26 y=random.randrange(-50,-10) 27 start_list[i][1]=y 28 x=random.randrange(0,640) 29 start_list[i][0]=x 30 clock.tick(20) 31 pygame.display.flip() 32 pos_x+=10 33 if pos_x is 180: 34 pos_x=20 35 pygame.quit() 36 exit(0)
我這裏用green來畫圓形的精靈,貌似不是雪花飄落了,應該改爲葉子形狀,變成綠葉墜落才比較適合吧。。哈。。:)app
代碼寫的沒啥技術含量,不過我以爲這本書帶來的啓示仍是挺有用的,邊學新語言邊實現你喜歡的東西纔是編程的樂趣所在吧,這也是本人記錄隨筆的初衷。文筆粗糙的很,繼續加油吧!框架