1 回答

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
您沒有正確地對(duì)圖像進(jìn)行 blitting。我們來看看這個(gè)函數(shù):
def virus(x_virus,y_virus):
screen.blit(virus_pic, (x_virus, y_virus))
你接受 x 和 y 坐標(biāo)并嘗試 blitvirus_pic到screen. 問題是你沒有考慮這里的不同范圍,你需要傳遞screen和virus_pic作為參數(shù),否則你的函數(shù)不知道它們是什么,所以改變你的函數(shù)看起來像這樣
def virus(screen,virus_pic,x_virus,y_virus):
screen.blit(virus_pic, (x_virus, y_virus))
然后在您的main()函數(shù)中更改相應(yīng)的代碼部分。我也冒昧地將其簡(jiǎn)化了一點(diǎn)
if x_virus != 320:
x_virus += 1
if x_virus == 320:
if y_virus != 400:
y_virus += 1
if y_virus == 400:
if x_virus != 500:
x_virus += .5
if x_virus == 500:
if y_virus != 10:
y_virus -= 1
virus(screen,virus_pic,x_virus,y_virus)
讓我知道事情的后續(xù)!
編輯:
它不改變方向的原因是因?yàn)樵诿恳粠淖鴺?biāo)每次都只被相同的精確值改變,因此,速度向量保持不變,你只能看到一個(gè)方向的運(yùn)動(dòng)。
您需要找到一種方法來使這些更改具有動(dòng)態(tài)性。
添加回答
舉報(bào)