我正在玩pygame,并且正在制作記憶游戲。在我的記憶游戲中,我需要在屏幕的中下方有一個小菜單,并在屏幕頂部有一個播放器列表。游戲管理員將在屏幕的左上角輸出消息??ㄆ诘目赏姘鍛挥谄聊恢醒耄笥覂蓚攘粲猩倭靠瞻?,距頂部和底部約200像素。(例如,如果屏幕的寬度和高度為1200 x 800,可玩板的寬度應為2到1998,高度應為200到600。我對我的想法做了一個屏幕截圖:我已經提出了帶有卡的可滾動板的想法,盡管現在已經過硬編碼了,但是我最需要的不是代碼,因為我很難弄清楚它應該如何工作??赏娴拿姘澹ㄆ聊唤貓D上的游戲面板)應通過鍵盤(向上,向右,向下,向左箭頭)移動。我想做的是允許每列多于4張卡,每行多于12張卡,這樣一來,當卡數多于12 x 4時,可以移動游戲板,但不退出標記為紅色的正方形在屏幕截圖上(所以它是可滾動的表面)。我想將可滾動區域限制為1200的寬度和400 px的高度,但是以某種方式該區域只能在紅色區域內滾動。如果那行不通或另有計劃,是否有其他方法可以不同地注冊點擊?假設當我以菜單區域在游戲板上的方式移動鍵并單擊菜單時,我也不想單擊菜單下的卡片。有什么方法可以鎖定菜單下的內容?在下面添加代碼示例:from pygame import *import sysinit()screen_width = 1200screen_height = 800screen = display.set_mode((screen_width, screen_height))board_width = 2000board_height = 1000playable_board = Surface((board_width, board_height))playable_board = playable_board.convert()screen.fill((255, 255, 255))#draw.rect(playable_board, (125, 125, 125), (2, 200, board_width, board_height))for x in range(0, 50): draw.rect(playable_board, (100, 100, 100), (x * 100 + 5, 200, 90, 90)) draw.rect(playable_board, (100, 100, 100), (x * 100 + 5, 310, 90, 90)) draw.rect(playable_board, (100, 100, 100), (x * 100 + 5, 420, 90, 90)) draw.rect(playable_board, (100, 100, 100), (x * 100 + 5, 530, 90, 90)) # draw.rect(playable_board, (100, 100, 100), (x * 100 + 5, 640, 90, 90))point_x = 0point_y = 0point_change = -30animationTimer = time.Clock()endProgram = Falsewhile not endProgram: for e in event.get(): pass key_pressed = key.get_pressed() if e.type == QUIT: endProgram = True if e.type == MOUSEBUTTONUP: mouse_x, mouse_y = e.pos display.set_caption(('Coordinates: ' + str(mouse_x + abs(point_x)) + 'x' + str(mouse_y + abs(point_y)))) draw.rect(playable_board, (50, 200, 50), (mouse_x + abs(point_x), mouse_y + abs(point_y), 10, 10))
添加回答
舉報
0/150
提交
取消
