昨天也是成功的讓「小淘氣」可以動了。
玩遊戲沒有音樂很像怪怪的,所以我決定在 pygame 中加入音樂。
好的,今天一樣先上程式碼:
import pygame
import random
pygame.init()
black = (0, 0, 0)
green = (91,231,196)
gameNaughtybox = pygame.display.set_mode((600,600))
def game_intro(main_BG):
BG = [pygame.image.load("pipo-battlebg007b.png")]
main_BG.Surface.blit("BG", ('0,0'))
character =[pygame.image.load("Angel.png")]
pygame.display.set_caption("Naughty Box")
gameNaughtybox.fill(black)
BGM = [pygame.mixer.music.load("NES - CIRCUS CHARLIE-B(stage1_stage5).mp3")]
pygame.mixer.music.play()
x = 50
y = 50
width =60
height = 60
vel = 8
isJump = False
jumpCount = 15
run = True
while run:
pygame.time.delay(20)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys [pygame.K_LEFT] and x > vel:
x -= vel
if keys [pygame.K_RIGHT] and x < 600 - width - vel:
x += vel
if not (isJump):
if keys [pygame.K_UP] and y > vel:
y -= vel
if keys [pygame.K_DOWN] and y < 600 - height - vel:
y += vel
if keys [pygame.K_SPACE]:
isJump = True
else:
if jumpCount >= -10:
neg = 1
if jumpCount < 0:
neg = -1
y -= (jumpCount ** 2) * 0.5 * neg
jumpCount -= 1
else:
isJump = False
jumpCount = 10
gameNaughtybox.fill((0,0,0))
pygame.draw.rect(gameNaughtybox, (247,80,0), (x, y, width, height))
pygame.display.update()
pygame.quit()
其實我覺得加入音樂這個步驟不難,但是還是要對「儲存、置入」有一點概念才比較容易懂。
別懷疑!!!真的是要先整理和建立資料夾。
以我使用 Jupyter notebook 為例,每一次打的程式碼都會變成一個文件。
這也是要跟新手提醒的,在每儲存一次文件的時候,都要把它整理分類,這樣在日後作業的時候會比較方便。
至於要去哪裡整理呢?
就是在 Jupyter notebook 首頁可以整理資料夾,如下圖所示,我把和這次的參賽有關的程式碼都放在「iThome」的資料夾裡。
資料夾中還可以再建立資料夾,因此建議新手因為初期練習比較不熟悉的話,就一個專案就放一個資料夾。
在建立好資料夾,也把該用的程式碼丟進去以後,就可以開始找音樂啦!!!
如果玩過 Adobe 系列軟體的人就會知道,通常都會把所有專案素材都放在同一個資料夾裡,方便程式抓取素材。
Pygame 也不例外,如果有任何想要上傳的圖檔或音檔,都要放在同一個創建的資料夾中。
如果音樂找好了,但又找不到資料夾路徑,所以不知道要怎麼放回資料夾的人,別怕!!
只要到利用電腦原本的「搜尋功能」搜尋檔名,尋找你想要存放素材的資料夾名稱,就可以找到你的資料夾啦!!!
看到這兩個關鍵字就不難知道要執行甚麼指令了!
BGM = [pygame.mixer.music.load("NES - CIRCUS CHARLIE-B(stage1_stage5).mp3")]
pygame.mixer.music.play()
在此之前要先認識 pygame.mixer.music
這個關鍵詞組,舉凡 pygame 裡要下遊戲指令,就要用到這個詞組,然後在後面加上 .+指令
。
在這個遊戲裡我們只要下「load」、「play」兩個指令就好。
上方程式碼第一行是關鍵字是「load」,就是上載。
也就是說,想要播放音樂前,要先把遊戲載入系統裡,有點像「import」的概念。
但是,import是載入模組,load是上載素材。
第二行關鍵字就是「play」,也就是播放。
音樂上載完成後,接著就是要播放。
所以呢,就要選擇播放的時機,我目前是先將它從遊戲一開始就開始播放。
這是最簡單的方式,另外,因為我覺得音量還可以,目前沒有要調整它。
不過如果有人想要調整的話,可以試試看 .set_volume
調整音量。
接下來就是進入測試階段!!!
成功!!!
我覺得這真的和資料夾的建置很有關係,因為有過 Adobe 系列的儲存經驗,所以這裡很容易上手。可是對於沒有經驗的新手來說,我覺得可能會需要費一點心思去摸索和整理資料夾。
接下來,我想要把方塊變成真的「角色人物」,然後遊戲背景可能也不會是黑色,這我還在考慮。但是應該會給遊戲一點簡單的劇情。
從上面短短一句話,就可以我有多麼不切實際了吧!!!)掩面
不過,有夢最美,築夢踏實啊!
還有,感謝老天,明天颱風假!!!)跪拜
這樣我就可以努力研究了,希望我的遊戲能成功!!!
今天愉快收工!!!
[同場加映]
差點忘記放上這個影片了!!!
我真的覺得很好聽欸!!!
而且真的是很實用的基礎內容。
有機會要來把全部歌詞打出來)狀態顯示腦袋不太正常