python學習外星人入侵右鍵不移動什麼原因 只有左鍵向左移動

時間 2021-06-28 17:36:21

1樓:匿名使用者

主要看看向右移動的地方的**有沒有問題:

# 設定向右移動flag

self.move_right = false

def listening_key_down(self, event):

"""監聽key_down事件

:param event:

"""if event.key == pygame.k_right:

self.air_ship.move_right = true

elif event.key == pygame.k_left:

self.air_ship.move_left = true

def listening_key_up(self, event):

"""監聽key_up事件

:param event:

"""if event.key == pygame.k_right:

self.air_ship.move_right = false

elif event.key == pygame.k_left:

self.air_ship.move_left = false

def move(self):

"""更新飛船橫軸位置,實現左右移動

"""if self.move_right and self.air_ship_rect.right <= self.screen_rect.right:

self.center += self.speed_factor        if self.

move_left and self.air_ship_rect.left >= self.

screen_rect.left:

self.center -= self.speed_factor

self.air_ship_rect.centerx = self.center

def listening_game_event(self):

"""監聽事件

"""for event in pygame.event.get():            if event.type == pygame.quit:

pygame.quit()

sys.exit()            elif event.type == pygame.keydown:

self.listening_key_down(event)            elif event.type == pygame.keyup:

self.listening_key_up(event)

# 遊戲主迴圈

while true:            self.listening_game_event()            self.

air_ship.move()            self.update_game_screen()

2樓:

同樣問題,按右鍵,螢幕上不顯示,其實是已經移動的了,螢幕上沒有顯示移動,怎麼解決

python外星人入侵問題求助

3樓:匿名使用者

你好,我也遇到了同樣的問題。debug可以發現其實你的程式仍然是36個外星人,但是每行外星人的位置重合導致了顯示結果看起來只有一列外星人響應。這是由於每個外星人的初始位置相同。

我當初寫的時候理所當然地在def create_alien中(該函式目的是生成一組外星人),對函式體中每個alien的位置都是用精靈的實際位置計算,即alien.rect.x和alien.

rect.y。但你可以觀察到alien類的update函式計算物件是alien.

x, 所以你可能需要在別的檔案中補上這個關鍵的中間變數,加上這句話(圖中紅字):alien.x=alien.

rect.x

這樣才能夠將真實的位置alien.rect.x和我們數學計算的變數alien.x對應起來,實現一堆外星人動起來的效果!請採納!!!!!!

4樓:粒粒雪時代

#儲存小朋友的準確位置 self.x=float(self.rect.x),我把這個刪掉就可以了,你試試,還有update()裡的也刪掉,還有修改相關的變數名

5樓:

你在書上看的吧。我也有這本書,我做過這個遊戲,連函式名、類名、變數名都和我的一樣、、、、、、你只給看了外星人的類,遊戲功能模組裡你應該寫了演算法,那裡應該出了錯,

你又不給看,只有你自己找演算法裡的錯了,你可以再看看書。。。。

Python外星人入侵問題求助

你好,我也遇到了同樣的問題。debug可以發現其實你的程式仍然是36個外星人,但是每行外星人的位置重合導致了顯示結果看起來只有一列外星人響應。這是由於每個外星人的初始位置相同。我當初寫的時候理所當然地在def create alien中 該函式目的是生成一組外星人 對函式體中每個alien的位置都是...

為什麼外星人還未入侵地球,外星人入侵地球

雖說普遍認為宇宙中會有外星人存在,但現代天文觀測已經排除太陽系記憶體在外星人的可能性。在往外就進入以光年為單位的星際空間,這對我們人類或其它智慧生物來說是難以征服的遙遠距離!所以說巨大的宇宙空間距離似乎成了智慧生物之間相互聯絡的難以逾越的障礙,因此即使有外星人存在我們也難以發現,更不知道他們生活在 ...

外星人會侵略地球麼,外星人入侵地球

不會。浩瀚宇宙中地球是微小的星球,並且太陽系在宇宙中也只佔很小的一部分,在宇宙中地球都能存在可以說是智慧生命,那就可以想象宇宙中有很多星球存在智慧生命,外星與地球如果知道有智慧生命的存在,也沒有必要去佔領和侵略,因為各自的星球環境不一定一樣,也許地球還落後外星人星球很多,佔領地球發展外星生物也存在管...