cuốn sách gpt4 ai đã làm

android — Sprite va chạm và giết chết Sprite

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 13:44:58 27 4
mua khóa gpt4 Nike

Tôi có hai nhóm sprite,danh sách tàu Có 20 họa tiết tàu vũ trụ,tất cả_sprites Có 20 sprite này, cộng với sprite của người chơi. Trong vòng lặp chính, khi một người chơi được phát hiện với danh sách tàu Khi có bất kỳ va chạm nào xảy ra, tôi hiểu rằng hình ảnh con tàu va chạm với người chơi đã bị xóa khỏi danh sách tàu Xóa vào. Khi tôi chạy chương trình, tất cả các hình ảnh đều xuất hiện và bằng cách di chuyển người chơi vào hình ảnh con tàu, nó sẽ biến mất. Mọi thứ đều ổn ngoại trừ...tôi không hiểu tại sao họ lại biến mất. Nguyên nhân là vì dù tôi biết sau va chạm con tàu đã di chuyển từ danh sách tàu đã bị xóa, nhưng thực ra việc vẽ lại mọi khung hình là tất cả_sprites danh sách, tôi không nói rõ ràng bất cứ điều gì đã bị xóa khỏi nó bất cứ lúc nào, sự va chạm cũng xuất phát từ tất cả_sprites Tàu Sprite đã bị loại bỏ?

ship_list = pygame.sprite.Group() # chỉ gửi sprite
all_sprites = pygame.sprite.Group() # sprite tàu + sprite người chơi

trong khi chưa xong:

cho sự kiện trong pygame.event.get():
nếu sự kiện.type == pygame.QUIT hoặc điểm == 20:
xong = Đúng

screen.fill (ĐEN)

pos = pygame.mouse.get_pos()

player.orth.x = pos[0]
player.orth.y = pos[1]

**# dòng này có loại bỏ các họa tiết khỏi all_sprites không??**
ship_hit_list = pygame.sprite.spritecollide(player, ship_list, True) # phát hiện va chạm
cho tàu trongship_hit_list:
điểm += 1
in điểm

all_sprites.draw(screen) # dường như mất các họa tiết khiships_list thực hiện..
ship_list.update() # cập nhật vị trí

pygame.display.flip()

đồng hồ.tick(24)

# bỏ cuộc đúng cách
pygame.quit()

từ https://www.pygame.org/docs/ref/sprite.html#pygame.sprite.spritecollide

pygame.sprite.spritecollide()

Tìm các sprite trong một nhóm giao nhau với một sprite khác.

spritecollide(sprite, nhóm, dokill, va chạm = Không) -> Sprite_list

Trả về một danh sách chứa tất cả các Sprite trong một Nhóm giao nhau với một Sprite khác. Giao lộ được xác định bằng cách so sánh thuộc tính Sprite.reg của mỗi Sprite.

Đối số dokill là bool Nếu được đặt thành True, tất cả các Sprite xung đột sẽ bị xóa khỏi Nhóm. (Nó không đề cập đến việc xóa nó khỏi bất kỳ nhóm nào khác ..)

câu trả lời hay nhất

Nếu bạn nhìn vào những gì được hiển thị khi bạn in một sprite, bạn sẽ thấy nó hiển thị số lượng nhóm mà sprite tồn tại.

Sprite có một tập tin có têngiết 的方法:

xóa Sprite khỏi tất cả các Nhóm

kill() -> Không có

Sprite bị xóa khỏi tất cả các Nhóm chứa nó. Điều này sẽ không thay đổi bất kỳ điều gì về trạng thái của Sprite. Bạn có thể tiếp tục sử dụng Sprite sau khi phương thức này được gọi, bao gồm cả việc thêm nó vào Nhóm.

看起来 sprite_collide Những gì nó làm, nếu xảy ra xung đột, chỉ cần gọi nó trên Sprite giết().

Về vấn đề python - Sprite va chạm và giết chết Sprite, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/22132715/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress