ฉันจะทำให้ฉัน pygame ตัวละครการเคลื่อนไหวไปในรูขนาดเดียวกันถ้าพวกเขาบางส่วนแตกต่างขนาดต้องเริ่มด้วย?

0

คำถาม

ตอนนี้ฉันกำลังพยายามรหัสในกระโดดการเคลื่อนไหวสำหรับเกมส์ของผม ผมจัดการได้กระโดดการเคลื่อนไหวทำงานแต่ภาพที่อยู่ที่แตกต่างขนาดต้องของกันการเคลื่อนไหว. ในการเคลื่อนไหวทุกคนก็ได้ยกเว้นสำหรับขนาด ฉันมีตัวละครฉันกำลังจะใช้ออกจาก นี้ เชื่อมต่อ

นี่คือรหัสสำหรับการโหลดภาพเคลื่อนไหว:@title:group

player_size = (80, 80)
for n in range(0, 10):
    img_right = pygame.image.load(f'img/Character animations/Jump Start/Jump Start_{n}.png').convert_alpha()
    img_right = pygame.transform.smoothscale(img_right, player_size)
    img_left = pygame.transform.flip(img_right, True, False)
    self.images_jump_start_right.append(img_right)
    self.images_jump_start_left.append(img_left)
for n in range(0, 12):
    img_right = pygame.image.load(f'img/Character animations/Idle/Idle_{n}.png').convert_alpha()
    img_right = pygame.transform.smoothscale(img_right, player_size)
    img_left = pygame.transform.flip(img_right, True, False)
    self.images_idle_right.append(img_right)
    self.images_idle_left.append(img_left)
for n in range(0, 16):
    img_right = pygame.image.load(f'img/Character animations/Walk/Walk_{n}.png').convert_alpha()
    img_right = pygame.transform.smoothscale(img_right, player_size)
    img_left = pygame.transform.flip(img_right, True, False)
    self.images_run_right.append(img_right)
    self.images_walk_left.append(img_left)

นี่คือสิ่งที่ตัวละครตัวไหนดูเหมือนตอนที่ กระโดด ตอนนี้ นี่คือสิ่งที่ตัวละครตัวไหนดูเหมือน ปกติ.

ฉันพยายามจะเปลี่ยนขนาดของกระโดดภาพต่างแยกกันไปที่อื่นภาพแต่มันเป็นเหมือนกันขนาดเดียวกับหรือใหญ่มากด้วย

มีใครมีไอเดียอะไรคือปัญหาหรอ?

ขอบคุณสำหรับการช่วยเหลือใดๆในกล่วงหน้า:)

animation drawing pygame python
2021-11-23 21:20:04
1

คำตอบที่ดีที่สุด

0

คุณต้องใช้การปรับขนาดปัจจับภาพทั้งหมด.

กำหนดการปรับขนาดปัจจั(e.g.:0.5):

image_scale = 0.5

เขียนฟังก์ชันที่ปรับขนาดภาพโดยมีการปรับขนาดของชี:

def scale_surface(surf, scale):
    width = round(surf.get_width() * scale)
    height = round(surf.get_height() * scale)
    return pygame.transform.smoothscale(surf, (width, height))

ใช้ฟังก์ชันและปรับขนาดเลยว่าส่วนหนึ่งต้องปรับขนาดภาพทั้งหมด. e.g.:

img_right = scale_surface(img_right, image_scale)
2021-11-23 21:28:58

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่