好吧,所以我想要z.ExNote()
打印出一張圖片(第8個音符)到一個我正在建立的應用程序的樂譜頁面上。基本上每個變量只與放置筆記的位置的(x,y)座標有關。 .ExNote()
是Note
類中的函數,它將Note
對象(Num, staff, measure, note, notetype)
的5個變量轉換爲要放置圖像的x,y座標。這整個混亂照顧你4個變量,所以你理論上可以輸入註釋c,d,e,f,g,a,b
,它會打印出來在工作人員的開始,然後你輸入的下一個筆記將是下一個位置,恰好是17像素的對等等。功能與輸入打印什麼都沒有
StaffL = {0: 'nada', 1: '1R', 2: '1L', 3:'2R',
4: '2L', 5: '3R', 6: '3L', 7: '4R', 8: '4L'}
pygame.display.set_caption("Piano App")
done = False
clock = pygame.time.Clock()
while not done:
clock.tick(10)
for event in pygame.event.get():
if event.type == pygame.QUIT:
done=True
screen.fill(white)
DrawGrandStaffAll()
TS(4,4)
notetypeZ = 'Ethnote'
g=0
while g < 8:
g+=1
staff = StaffL[g]
measureZ = 0
while measureZ<6:
measureZ += 1
wnoteZ = 0
while wnoteZ<8:
wnoteZ += 1
noteZ=(input("\n\nWhat note \nc\nd\ne\nf\ng\na\nb\nc2\nd2\n"))
z = Note(int(wnoteZ), repr(staff), int(measureZ), repr(noteZ), repr(notetypeZ))
z.ExNote()
pygame.display.flip()
pygame.quit()
如果我只是輸入的內容z
最終等於(Note(1, '1R', 1, 'c', 'Ethnote')
),然後做z.Exnote()
,它的工作原理(我記印在紙張上的音樂)。但是當我這樣做時,它不起作用。我還在一個單獨的窗口中運行此代碼並打印出z以確保它不是某種技術錯誤/拼寫錯誤,並且輸出正是我想要的。所以問題不是變量,也不是一些技術錯誤。我假設錯誤與輸入有關,因爲這是手動輸入z=Note(1, '1R', 1, 'c', 'Ethnote')
和使用此代碼構建語句之間唯一的變化。
我想通了謝謝,雖然 –