
出色的配音是本作品的一大亮點哦! 相信這竟然是Python用海龜畫圖制作的作品嗎?
sprites子產品就是用python的turtle子產品制作的!是以本作品仍屬于Python海龜畫圖作品
"""
音樂跳舞毯模拟,當箭頭滑過中間的箭頭時,按相應的方向箭頭即可加分。
本程式也示範了如何播放多首背景音樂。
注意音樂檔案名下劃線中的數字是時長,這時預先檢視到設故意設成這樣的。
也可以用相關子產品的指令讀出wav的時長。
由于借用了pygame的混音器,是以本程式正常運作還要安裝pygame子產品。
共有8首背景音樂,2個聲音效果。聲音播放用了winsound子產品的PlaySound指令(sprites子產品封裝)
和pygame子產品的混音器功能。
"""
from sprites import * # 從精靈子產品導入所有指令
from pygame import mixer # 從pygame子產品導入混音器
mixer.init() # 初始化混音器
soundeffect = mixer.Sound('fairydust.wav') # 執行個體化音頻對象
Sprite(visible=False).play('dance celebrate.wav') # 封面時的音效
screen = Screen()
screen.setup(480,360)
screen.bgpic('res/cover.png')
spacekey = Key('space') # 空格鍵
mouseleftkey = Mouse(1) # 滑鼠左鍵
screen.listen()
while not (mouseleftkey.down() or spacekey.down()):
screen.update()
screen.bgpic('res/stage-kiss.png')
arrowpng = 'res/綠箭頭.png'
# 下面是用于碰撞的箭頭,可以把它們設為完全透明
rightarrow = Sprite(shape=arrowpng,pos=(90,0))
leftarrow = Sprite(shape=arrowpng,pos=(-90,0))
leftarrow.right(180)
uparrow = Sprite(shape=arrowpng,pos=(-30,0))
uparrow.left(90)
downarrow = Sprite(shape=arrowpng,pos=(30,0))
downarrow.right(90)
# 下面是移動的箭頭
rightarrow2 = Sprite(shape=arrowpng,pos=(90,-180))
leftarrow2 = Sprite(shape=arrowpng,pos=(-90,-280))
leftarrow2.right(180)
uparrow2 = Sprite(shape=arrowpng,pos=(-30,-2000))
uparrow2.left(90)
downarrow2 = Sprite(shape=arrowpng,pos=(30,-1000))
downarrow2.right(90)
score = 0
def rightreleased():
global score
if rightarrow2.collide(rightarrow):
rightarrow.left(1)
score += 10
effect((0,120),'res/add10.png',500)
soundeffect.play()
def leftreleased():
global score
if leftarrow2.collide(leftarrow):
leftarrow.left(1)
score += 10
effect((0,120),'res/add10.png',500)
soundeffect.play()
def upreleased():
global score
if uparrow2.collide(uparrow):
uparrow.left(1)
score += 10
effect((0,120),'res/add10.png',500)
soundeffect.play()
def downreleased():
global score
if downarrow2.collide(downarrow):
downarrow.left(1)
score += 10
effect((0,120),'res/add10.png',500)
soundeffect.play()
screen.onkey(rightreleased,"Right")
screen.onkey(leftreleased,"Left")
screen.onkey(upreleased,"Up")
screen.onkey(downreleased,"Down")
musics = ['music/01_99.wav','music/02_118.wav','music/03_96.wav',
'music/04_329.wav','music/05_275.wav','music/06_141.wav',
'music/07_118.wav','music/08_140.wav']
index = 0
m = Sprite(visible=False)
def playmusic():
global index
music = musics[index]
m.play(music)
times = music.split('/')[-1].split('.')[0].split('_')[-1]
times = int(times) * 1000
index = index + 1
if index < len(musics):
screen.ontimer(playmusic,times)
playmusic() # 播放多首音樂
clock = Clock()
while True:
# 右方向箭頭按鍵檢測
rightarrow2.addy(2)
if rightarrow2.ycor() > 180:
rightarrow2.reborn(90,-180+random.randint(-300,0))
# 左方向箭頭按鍵檢測
leftarrow2.addy(2)
if leftarrow2.ycor() > 180:
leftarrow2.reborn(-90,-180+random.randint(-500,0))
# 上方向箭頭按鍵檢測
uparrow2.addy(2)
if uparrow2.ycor() > 180:
uparrow2.reborn(-30,-180+random.randint(-700,0))
# 下方向箭頭按鍵檢測
downarrow2.addy(2)
if downarrow2.ycor() > 180:
downarrow2.reborn(30,-180+random.randint(-900,0))
screen.title("得分:" + str(score))
clock.tick(60)
Python創意程式設計100例sprites篇免費下載下傳網址為本人lixingqiu.com部落格首頁置頂文章最下面!!