ใ€Pygameใ€‘ๅ††ใ€็›ด็ทšใ€้•ทๆ–นๅฝขใชใฉใฎๅ›ณๅฝขใ‚’ๆ็”ป

Pythonใƒฉใ‚คใƒ–ใƒฉใƒชPygameใง็”ป้ขไธŠใซๅ›ณๅฝข(็›ด็ทšใ€้•ทๆ–นๅฝขใ€ๅ††)ใ‚’ๆ็”ปใ™ใ‚‹ๆ–นๆณ•ใจใ‚ฝใƒผใ‚นใ‚ณใƒผใƒ‰ใ‚’่งฃ่ชฌใ—ใพใ™ใ€‚

Pygameใงๅ›ณๅฝขใฎๆ็”ป(ๅก—ใ‚Šใคใถใ—ใชใ—)

ไปฅไธ‹ใฎใ‚ˆใ†ใซใ€Pygameใง็”ป้ขไธŠใซๅ›ณๅฝข(็›ด็ทšใ€้•ทๆ–นๅฝขใ€ๅ††)ใ‚’ๆ็”ปใ—ใพใ™ใ€‚

ๅ‹•็”ป่งฃ่ชฌ็‰ˆ

ๆœฌใƒšใƒผใ‚ธใฎๅ†…ๅฎนใฏไปฅไธ‹ๅ‹•็”ปใงใ‚‚่งฃ่ชฌใ—ใฆใ„ใพใ™ใ€‚

ใ‚ตใƒณใƒ—ใƒซใ‚ณใƒผใƒ‰


ใ‚ณใƒผใƒ‰ใฎ่งฃ่ชฌ

1. ็ทšใ‚’ๆใ (pygame.draw.line)

ไปฅไธ‹ใฎใ‚ณใƒผใƒ‰ใฏใ€็”ป้ขใฎๅทฆไธŠ้š…๏ผˆ0,0๏ผ‰ใ‹ใ‚‰ๅณไธ‹ๆ–นๅ‘ใซ80ใƒ”ใ‚ฏใ‚ปใƒซ้€ฒใ‚“ใ ็‚น๏ผˆ80,80๏ผ‰ใพใงใ€ๅน…5ใƒ”ใ‚ฏใ‚ปใƒซใฎ็ท‘่‰ฒใฎ็ทšใ‚’ๆใใพใ™ใ€‚

pygame.draw.line(screen, (0,255,0), (0,0), (80,80), 5)
  • screen: ๆ็”ปๅ…ˆใฎ็”ป้ข๏ผˆSurfaceใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆ๏ผ‰ใ€‚
  • (0,255,0): ็ทšใฎ่‰ฒใ‚’RGBๅฝขๅผใงๆŒ‡ๅฎšใ—ใฆใ„ใพใ™ใ€‚ใ“ใฎๅ ดๅˆใ€็ท‘่‰ฒใงใ™ใ€‚
  • (0,0): ็ทšใฎๅง‹็‚นใฎๅบงๆจ™๏ผˆx, y๏ผ‰ใ€‚
  • (80,80): ็ทšใฎ็ต‚็‚นใฎๅบงๆจ™๏ผˆx, y๏ผ‰ใ€‚
  • 5: ็ทšใฎๅน…๏ผˆใƒ”ใ‚ฏใ‚ปใƒซๅ˜ไฝ๏ผ‰ใ€‚

2. ้•ทๆ–นๅฝขใ‚’ๆใ (pygame.draw.rect)

ไปฅไธ‹ใฎใ‚ณใƒผใƒ‰ใฏใ€ๅทฆไธŠ้š…ใŒๅบงๆจ™๏ผˆ100,100๏ผ‰ใซใ‚ใ‚Šใ€ๅน…180ใƒ”ใ‚ฏใ‚ปใƒซใ€้ซ˜ใ•150ใƒ”ใ‚ฏใ‚ปใƒซใฎ่ตค่‰ฒใฎ้•ทๆ–นๅฝขใ‚’ๆใใพใ™ใ€‚

pygame.draw.rect(screen, (255,0,0), (100,100,180,150), 5)
  • screen: ๆ็”ปๅ…ˆใฎ็”ป้ข๏ผˆSurfaceใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆ๏ผ‰ใ€‚
  • (255,0,0): ้•ทๆ–นๅฝขใฎ่‰ฒใ‚’RGBๅฝขๅผใงๆŒ‡ๅฎšใ—ใฆใ„ใพใ™ใ€‚ใ“ใฎๅ ดๅˆใ€่ตค่‰ฒใงใ™ใ€‚
  • (100,100,180,150): ้•ทๆ–นๅฝขใฎไฝ็ฝฎใจใ‚ตใ‚คใ‚บใ‚’ๆŒ‡ๅฎšใ™ใ‚‹ใ‚ฟใƒ—ใƒซใ€‚ๆœ€ๅˆใฎ2ใคใฎๅ€ค๏ผˆ100,100๏ผ‰ใฏๅทฆไธŠ้š…ใฎๅบงๆจ™๏ผˆx, y๏ผ‰ใ€ๆฌกใฎ2ใคใฎๅ€ค๏ผˆ180,150๏ผ‰ใฏๅน…ใจ้ซ˜ใ•ใงใ™ใ€‚
  • 5: ้•ทๆ–นๅฝขใฎ็ทšใฎๅน…๏ผˆใƒ”ใ‚ฏใ‚ปใƒซๅ˜ไฝ๏ผ‰ใ€‚ใ“ใฎๅ ดๅˆใ€ๅก—ใ‚Šใคใถใ—ใชใ—ใงๆ็”ปใ•ใ‚Œใพใ™ใ€‚

3. ๆฅ•ๅ††ใ‚’ๆใ (pygame.draw.ellipse)

ไปฅไธ‹ใฎใ‚ณใƒผใƒ‰ใฏใ€ๅทฆไธŠ้š…ใŒๅบงๆจ™๏ผˆ250,250๏ผ‰ใซใ‚ใ‚Šใ€ๅน…300ใƒ”ใ‚ฏใ‚ปใƒซใ€้ซ˜ใ•200ใƒ”ใ‚ฏใ‚ปใƒซใฎ็Ÿฉๅฝขใซๅ†…ๆŽฅใ™ใ‚‹้’่‰ฒใฎๆฅ•ๅ††ใ‚’ๆใใพใ™ใ€‚

pygame.draw.ellipse(screen, (0,0,255), (250,250,300,200), 5)
  • screen: ๆ็”ปๅ…ˆใฎ็”ป้ข๏ผˆSurfaceใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆ๏ผ‰ใ€‚
  • (0,0,255): ๆฅ•ๅ††ใฎ่‰ฒใ‚’RGBๅฝขๅผใงๆŒ‡ๅฎšใ—ใฆใ„ใพใ™ใ€‚ใ“ใฎๅ ดๅˆใ€้’่‰ฒใงใ™ใ€‚
  • (250,250,300,200): ๆฅ•ๅ††ใŒๅ†…ๆŽฅใ™ใ‚‹็Ÿฉๅฝขใฎไฝ็ฝฎใจใ‚ตใ‚คใ‚บใ‚’ๆŒ‡ๅฎšใ™ใ‚‹ใ‚ฟใƒ—ใƒซใ€‚ๆœ€ๅˆใฎ2ใคใฎๅ€ค๏ผˆ250,250๏ผ‰ใฏ็ŸฉๅฝขใฎๅทฆไธŠ้š…ใฎๅบงๆจ™๏ผˆx, y๏ผ‰ใ€ๆฌกใฎ2ใคใฎๅ€ค๏ผˆ300,200๏ผ‰ใฏ็Ÿฉๅฝขใฎๅน…ใจ้ซ˜ใ•ใงใ™ใ€‚
  • 5: ๆฅ•ๅ††ใฎ็ทšใฎๅน…๏ผˆใƒ”ใ‚ฏใ‚ปใƒซๅ˜ไฝ๏ผ‰ใ€‚ใ“ใฎๅ ดๅˆใ€ๅก—ใ‚Šใคใถใ—ใชใ—ใงๆ็”ปใ•ใ‚Œใพใ™ใ€‚

Pygameใงๅ›ณๅฝขใฎๆ็”ป(ๅก—ใ‚Šใคใถใ—ๆœ‰ใ‚Š)

้•ทๆ–นๅฝขใจๆฅ•ๅ††ใซใคใ„ใฆใฏใ€ไปฅไธ‹ใฎใ‚ˆใ†ใซ็ทšใฎๅน…ใ‚’ๆŒ‡ๅฎšใ—ใชใ‘ใ‚Œใฐๅก—ใ‚Šใคใถใ—ใฆๆ็”ปใ•ใ‚Œใพใ™ใ€‚

pygame.draw.rect(screen, (255,0,0), (100,100,180,150))
pygame.draw.ellipse(screen, (0,0,255), (250,250,300,200))

็›ด็ทšใซใคใ„ใฆใฏใ€็ทšใฎๅน…ใ‚’ๆŒ‡ๅฎšใ—ใชใ‘ใ‚Œใฐๆœ€ใ‚‚็ดฐใ„1pxใซใชใ‚Šใพใ™ใ€‚

ใ‚ตใƒณใƒ—ใƒซใ‚ณใƒผใƒ‰


้–ข้€ฃใƒšใƒผใ‚ธ

Pygameใฎไฝฟใ„ๆ–นใซใคใ„ใฆใฏไปฅไธ‹ใƒšใƒผใ‚ธใง่งฃ่ชฌใ—ใฆใ„ใพใ™ใ€‚

ใ€Pygame่ถ…ๅ…ฅ้–€ใ€‘ไฝฟใ„ๆ–นใจใ‚ตใƒณใƒ—ใƒซใ‚ฒใƒผใƒ ใ‚’่งฃ่ชฌ
Pygameใง2Dใ‚ฒใƒผใƒ ใ‚’็ฐกๅ˜ใซๅˆถไฝœใ™ใ‚‹ๆ–นๆณ•ใ‚’ๅ…ฅ้–€่€…ๅ‘ใ‘ใซ่งฃ่ชฌใ—ใพใ™ใ€‚

Pythonๅ…จ่ˆฌใซใคใ„ใฆใฏไปฅไธ‹ใƒšใƒผใ‚ธใง่งฃ่ชฌใ—ใฆใ„ใพใ™ใ€‚

ใ€Python่ถ…ๅ…ฅ้–€ใ€‘ๅŸบ็คŽใ‹ใ‚‰ๅฟœ็”จไพ‹ใพใงๅน…ๅบƒใ่งฃ่ชฌ
Pythonใซใคใ„ใฆPythonใฏใ€็ตฑ่จˆๅ‡ฆ็†ใ‚„ๆฉŸๆขฐๅญฆ็ฟ’ใ€ใƒ‡ใ‚ฃใƒผใƒ—ใƒฉใƒผใƒ‹ใƒณใ‚ฐใจใ„ใฃใŸๆ•ฐๅ€ค่จˆ็ฎ—ๅˆ†้‡Žใ‚’ไธญๅฟƒใซๅน…ๅบƒใ„็”จ้€”ใงๅˆฉ็”จใ•ใ‚Œใฆใ„ใ‚‹ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ่จ€่ชžใงใ™ใ€‚ไป–ใฎใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ่จ€่ชžใจๆฏ”่ผƒใ—ใฆใ€Œใ‚ณใƒผใƒ‰ใŒ็Ÿญใใฆ่ชญใฟใ‚„ใ™ใ„ใ€ๆ›ธใใ‚„ใ™ใ„ใ€ใ€Œใƒฉใ‚คใƒ–ใƒฉใƒชใŒ่ฑŠ...
ใ“ใฎ่จ˜ไบ‹ใ‚’ๆ›ธใ„ใŸไบบ
่ฅฟไฝๆŠ€็ ”

ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ่จ€่ชžใ€ŒPythonใ€ใ‚’็ ”็ฉถใ€ไป•ไบ‹ใ€่ถฃๅ‘ณใงใƒ‡ใƒผใ‚ฟๅˆ†ๆžใ‚„ไฝœๆฅญ่‡ชๅ‹•ๅŒ–ใชใฉใซๆดป็”จใ—ใฆใใŸใƒŽใ‚ฆใƒใ‚ฆใ‚’ๆƒ…ๅ ฑ็™บไฟกใ—ใฆใ„ใพใ™ใ€‚
็ญ†่€…ใฎ่ฉณใ—ใ„ใƒ—ใƒญใƒ•ใ‚ฃใƒผใƒซใ‚„ใŠๅ•ๅˆใ›ใฏใ“ใกใ‚‰ใฎใƒšใƒผใ‚ธใพใงใ€‚
โ‡“Youtubeใ‚„X๏ผˆๆ—งTwitter๏ผ‰ใงใ‚‚ๆƒ…ๅ ฑ็™บไฟกไธญใงใ™๏ผ

่ฅฟไฝๆŠ€็ ”ใ‚’ใƒ•ใ‚ฉใƒญใƒผใ™ใ‚‹
PyGame

ใ‚ณใƒกใƒณใƒˆ

  1. ๅŒฟๅ ใ‚ˆใ‚Š:

    ๅ‹‰ๅผทใ•ใ›ใฆ้ ‚ใ„ใฆใŠใ‚Šใพใ™ใ€‚

    screen = pygame.display.set_mode((300, 200)) # ๅคงใใ•600*500ใฎ็”ป้ขใ‚’็”Ÿๆˆ
    ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ใ€€ ใ€€โ†‘โ†‘โ†‘โ†‘