2015-02-24 68 views
0

我一直在討論Paul Craven的Python和Pygame教程,最近我想了解Sprite中的所有內容。所以,受到Craven的多層次代碼的啓發,我寫了自己的代碼並且它工作得很好。我的角色雪碧不會離開屏幕

邏輯是,如果玩家精靈在屏幕外(例如屏幕寬度等於640,玩家的x值大於640,則比您處於下一關)。相比之下,我決定將菜單添加到我的遊戲(?)並且菜單也很好。

問題是,現在我的角色無法達到第二級。看來它的x值是無法通過640的,我不知道爲什麼。

因爲我無法使用Stackoverflow編輯器來分享Python代碼(你知道,有意),所以我將使用Pastebin來分享我的代碼。

http://pastebin.ubuntu.com/10392389/

#1不會讓我發佈,我使用的圖像文件,但它們是經典的照片,我從互聯網上獲得。

任何幫助表示讚賞,謝謝。

回答

0
if current_level_num == 1 and player.rect.x > SCREEN_WIDTH: 
    current_level_num = 2 
    current_level = levels[current_level_num] 
    player.rect.x = 0 

if current_level_num == 2 and player.rect.x < 1: 
    current_level_num = 1 
    current_level = levels[current_level_num] 
    player.rect.x = SCREEN_WIDTH 

角色移動到2級,然後立即移回到1級。玩家應該比2級邊界更向右移動。

+0

感謝您的迴應,但它沒有奏效。其實,在我添加菜單之前它已經在運行。我已經打印了我的播放器的位置,以查看屏幕關閉時會發生什麼,而且它不會脫離屏幕。它在640中搜索,它沒有得到641. – MadScimmer 2015-02-24 20:21:48

+0

好吧,這只是player.rect.x設置的其他地方。從這部分代碼判斷,如果玩家的位置達到641,那麼它將在第一部分設置爲0,然後在第二部分設置爲640。如果您更改了此部分,請包含重新完成的版本。 – user3757614 2015-02-24 23:38:08

+0

哦,我的天啊,是的,你是對的。我似乎誤解了你的評論。謝謝。 – MadScimmer 2015-02-25 14:40:23