Skip to content

Camera ja

Shiraishi_AKi edited this page Oct 6, 2026 · 1 revision

Camera ใ‚ทใ‚นใƒ†ใƒ 

English | ็น้ซ”ไธญๆ–‡ | ๆ—ฅๆœฌ่ชž | ํ•œ๊ตญ์–ด

BIT8_CLI ใฏใ€ใ‚ฒใƒผใƒ ไธ–็•Œใฎ่กจ็คบ็ฏ„ๅ›ฒใ‚’ๅˆถๅพกใ™ใ‚‹ Camera ใ‚ทใ‚นใƒ†ใƒ ใ‚’ๆไพ›ใ—ใพใ™ใ€‚

BIT8_CLI 0.1.0 ใงใฏใ€Camera ใฏ Map ใƒ‡ใƒผใ‚ฟใจ้–ข้€ฃไป˜ใ‘ใ‚‰ใ‚Œใ€World ๅบงๆจ™ใ‚’ไฝฟ็”จใ™ใ‚‹ๆ็”ปใซๅฝฑ้Ÿฟใ—ใพใ™ใ€‚

ใ‚ฒใƒผใƒ ใฏๅ›บๅฎšใฎ 64 ร— 64 ใƒ”ใ‚ฏใ‚ปใƒซ Viewport ใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

1. Camera ใฎๆฆ‚่ฆ

Camera ใฏใ‚ฒใƒผใƒ ไธ–็•Œใฎ่กจ็คบ็ฏ„ๅ›ฒใฎไธญๅฟƒใ‚’ๅฎš็พฉใ—ใพใ™ใ€‚

Framebuffer ใฎ่งฃๅƒๅบฆใฏๅ›บๅฎšใ•ใ‚Œใฆใ„ใพใ™ใ€‚

64 ร— 64 pixels

Map ใฏ Viewport ใ‚ˆใ‚Šๅคงใใใ™ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

Camera ใฏใ€ๅคงใใชใ‚ฒใƒผใƒ ไธ–็•Œใฎใฉใฎ้ƒจๅˆ†ใ‚’็”ป้ขใซ่กจ็คบใ™ใ‚‹ใ‹ใ‚’ๆฑบๅฎšใ—ใพใ™ใ€‚

2. Camera ใจ Map

Camera ใƒ‡ใƒผใ‚ฟใฏ Map ใ‚ทใ‚นใƒ†ใƒ ใฎไธ€้ƒจใจใ—ใฆไฟๅญ˜ใ•ใ‚Œใพใ™ใ€‚

.b8map ใƒ•ใ‚กใ‚คใƒซใซใฏใ€ๆฌกใฎใƒ‡ใƒผใ‚ฟใ‚’ๅซใ‚ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

  • Tile ใƒ‡ใƒผใ‚ฟ
  • Node
  • Camera

Camera ใ‚’ไฝฟ็”จใ™ใ‚‹ใจใ€Framebuffer ใฎ่งฃๅƒๅบฆใ‚’ๅค‰ๆ›ดใ›ใšใซ Map ใฎ็•ฐใชใ‚‹้ ˜ๅŸŸใ‚’่กจ็คบใงใใพใ™ใ€‚

่ฉณใ—ใใฏ Maps ใ‚’ๅ‚็…งใ—ใฆใใ ใ•ใ„ใ€‚

3. Camera ใฎไฝ็ฝฎ

Camera ใฏ World ๅบงๆจ™ไธŠใฎไฝ็ฝฎใ‚’ๆŒใกใพใ™ใ€‚

ใ“ใฎไฝ็ฝฎใฏ Viewport ใฎไธญๅฟƒใ‚’่กจใ—ใพใ™ใ€‚

ไพ‹๏ผš

Camera position: (100, 80)
Viewport size:   64 ร— 64

ๆฆ‚ๅฟต็š„ใซใฏใ€่กจ็คบ็ฏ„ๅ›ฒใฏ Camera ใฎไธญๅฟƒใ‹ใ‚‰ๅ„ๆ–นๅ‘ใธ็ด„ 32 ใƒ”ใ‚ฏใ‚ปใƒซๅบƒใŒใ‚Šใพใ™ใ€‚

ใŠใŠใ‚ˆใใฎ่กจ็คบ็ฏ„ๅ›ฒ๏ผš

X: 68 to 131
Y: 48 to 111

ๆญฃ็ขบใชใƒ”ใ‚ฏใ‚ปใƒซๅขƒ็•Œใฏ Runtime ใฎๅบงๆจ™ๅ‡ฆ็†ใ‚„ไธธใ‚่ฆๅ‰‡ใซใ‚ˆใฃใฆ็•ฐใชใ‚Šใพใ™ใ€‚

4. World ๅบงๆจ™

World ๅบงๆจ™ใฏใ€ใ‚ฒใƒผใƒ ไธ–็•Œๅ†…ใฎไฝ็ฝฎใ‚’่กจใ—ใพใ™ใ€‚

ไพ‹ใˆใฐ๏ผš

  • Map Tile
  • Node
  • Node Sprite
  • World ๅบงๆจ™ใ‚’ไฝฟ็”จใ™ใ‚‹ๆ็”ปๅ‡ฆ็†

Camera ใŒๆœ‰ๅŠนใชๅ ดๅˆใ€ๅฏพๅฟœใ™ใ‚‹ World ๅบงๆจ™ใฎๆ็”ปใฏ Camera ใฎไฝ็ฝฎใซๅŸบใฅใ„ใฆๅค‰ๆ›ใ•ใ‚Œใพใ™ใ€‚

ใ“ใ‚Œใซใ‚ˆใ‚Šใ€Viewport ใฏใ‚ฒใƒผใƒ ไธ–็•Œใฎ็•ฐใชใ‚‹้ ˜ๅŸŸใ‚’่กจ็คบใงใใพใ™ใ€‚

5. Screen ๅบงๆจ™

Screen ๅบงๆจ™ใฏ Framebuffer ๅ†…ใฎๅ›บๅฎšไฝ็ฝฎใ‚’่กจใ—ใพใ™ใ€‚

ๅบงๆจ™็ฏ„ๅ›ฒ๏ผš

X: 0 to 63
Y: 0 to 63

ไธ€้ƒจใฎๆ็”ปๅ‡ฆ็†ใฏ Screen ๅบงๆจ™ใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

ไพ‹๏ผš

cls(0)
pix(32, 32, 7)

ใ“ใ‚Œใ‚‰ใฎๅ‡ฆ็†ใฏ Screen ๅบงๆจ™ใฎใพใพใงใ‚ใ‚Šใ€Camera ใซใ‚ˆใฃใฆ็งปๅ‹•ใ—ใพใ›ใ‚“ใ€‚

UI ใ‚„็”ป้ขไธŠใฎ Overlay ใ‚’ไฝœๆˆใ™ใ‚‹้š›ใซไพฟๅˆฉใงใ™ใ€‚

6. World ๅบงๆจ™ใ‹ใ‚‰ Screen ๅบงๆจ™ใธใฎๅค‰ๆ›

็ฐก็•ฅๅŒ–ใ—ใŸ Camera ๅค‰ๆ›ๅผ๏ผš

screen_x = world_x - camera_x + 32
screen_y = world_y - camera_y + 32

ไพ‹๏ผš

World position:  (100, 80)
Camera position: (100, 80)

Screen position: (32, 32)

Camera ใฎไธญๅฟƒใซใ‚ใ‚‹ใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใฏใ€็”ป้ขใฎไธญๅคฎไป˜่ฟ‘ใซ่กจ็คบใ•ใ‚Œใพใ™ใ€‚

ใ“ใฎๅผใฏๅŸบๆœฌ็š„ใชๆฆ‚ๅฟตใ‚’็คบใ—ใŸใ‚‚ใฎใงใ™ใ€‚

ๆญฃ็ขบใชใƒ”ใ‚ฏใ‚ปใƒซไฝ็ฝฎใฏ Runtime ใฎๆ•ดๆ•ฐๅบงๆจ™ๅ‡ฆ็†ใซใ‚ˆใฃใฆ็•ฐใชใ‚‹ๅ ดๅˆใŒใ‚ใ‚Šใพใ™ใ€‚

7. Active Camera ใฎ้ธๆŠž

Map ใซใฏ่ค‡ๆ•ฐใฎ Camera ใ‚’ๅซใ‚ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚

BIT8_CLI 0.1.0 ใฏใ€ๆฌกใฎใƒซใƒผใƒซใง Active Camera ใ‚’้ธๆŠžใ—ใพใ™ใ€‚

ๆœ‰ๅŠนใช Camera ใฎใ†ใกใ€ID ใŒๆœ€ใ‚‚ๅฐใ•ใ„ใ‚‚ใฎใ‚’้ธๆŠžใ—ใพใ™ใ€‚

ใ“ใ‚Œใซใ‚ˆใ‚Šใ€่ค‡ๆ•ฐใฎ Camera ใŒๅญ˜ๅœจใ—ใฆใ‚‚้ธๆŠž็ตๆžœใŒไบˆๆธฌๅฏ่ƒฝใซใชใ‚Šใพใ™ใ€‚

ไพ‹๏ผš

Camera ID 1 โ†’ Disabled
Camera ID 2 โ†’ Enabled
Camera ID 3 โ†’ Enabled

Active Camera๏ผš

Camera ID 2

8. Camera ใจ Tile Rendering

Map Rendering ใฏ World ๅบงๆจ™ใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

Camera ใŒๆœ‰ๅŠนใชๅ ดๅˆใ€Map ใฏ่กจ็คบๅฏพ่ฑกใฎ World ้ ˜ๅŸŸใซๅŸบใฅใ„ใฆๆ็”ปใ•ใ‚Œใพใ™ใ€‚

ไพ‹๏ผš

func draw()
    cls(0)
    map()
end

Camera ใฏใ€64ร—64 Framebuffer ๅ†…ใซ่กจ็คบใ•ใ‚Œใ‚‹ Map ใฎ็ฏ„ๅ›ฒใ‚’ๆฑบๅฎšใ—ใพใ™ใ€‚

9. Camera ใจ Sprite

Node Sprite ใฏ World ๅบงๆจ™ใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

Camera ใŒๆœ‰ๅŠนใชๅ ดๅˆใ€ๅฏพๅฟœใ™ใ‚‹ Sprite Rendering ใฏ Screen ๅบงๆจ™ใซๅค‰ๆ›ใ•ใ‚Œใพใ™ใ€‚

ไพ‹๏ผš

func draw()
    self:spr()
end

Node ่‡ชไฝ“ใฎ World ๅบงๆจ™ใฏ็ถญๆŒใ•ใ‚Œใพใ™ใ€‚

Camera ใฏ Sprite ใŒ็”ป้ขไธŠใซ่กจ็คบใ•ใ‚Œใ‚‹ไฝ็ฝฎใซๅฝฑ้Ÿฟใ—ใพใ™ใ€‚

่ฉณใ—ใใฏ Sprites and Animation ใ‚’ๅ‚็…งใ—ใฆใใ ใ•ใ„ใ€‚

10. Camera ใจ UI

ใ‚ฒใƒผใƒ ใงใฏใ€็”ป้ขไธŠใฎๅ›บๅฎšไฝ็ฝฎใซใ‚ฐใƒฉใƒ•ใ‚ฃใƒƒใ‚ฏใ‚’่กจ็คบใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹ๅ ดๅˆใŒใ‚ใ‚Šใพใ™ใ€‚

ไพ‹ใˆใฐ๏ผš

  • HP ่กจ็คบ
  • ใ‚ซใ‚ฆใƒณใ‚ฟใƒผ
  • ใƒกใƒ‹ใƒฅใƒผ
  • Screen Overlay

ใ“ใฎใ‚ˆใ†ใช่ฆ็ด ใซใฏ Screen ๅบงๆจ™ใฎๆ็”ปใŒไพฟๅˆฉใงใ™ใ€‚

ไพ‹๏ผš

func draw()
    cls(0)
    map()

    pix(32, 32, 7)
end

ใ“ใ“ใงใฏ pix() ใŒๅ›บๅฎšใฎ Screen ๅบงๆจ™ใซใƒ”ใ‚ฏใ‚ปใƒซใ‚’ๆ็”ปใ—ใพใ™ใ€‚

Camera ใฏใ“ใฎใƒ”ใ‚ฏใ‚ปใƒซใฎไฝ็ฝฎใ‚’ๅค‰ๆ›ดใ—ใพใ›ใ‚“ใ€‚

11. Camera ใฎ็ทจ้›†

BIT8_CLI ใฎ VS Code Map Workspace ใฏ Camera ใฎๅฏ่ฆ–ๅŒ–ใซๅฏพๅฟœใ—ใฆใ„ใพใ™ใ€‚

ใ“ใ‚Œใซใ‚ˆใ‚Šใ€Map ใ‚’็ทจ้›†ใ—ใชใŒใ‚‰ Camera ใฎไฝ็ฝฎใ‚’็ขบ่ชใงใใพใ™ใ€‚

Camera ใƒ‡ใƒผใ‚ฟใฏ Map ใฎใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใƒ‡ใƒผใ‚ฟใซๅซใพใ‚Œใพใ™ใ€‚

Runtime ใฏ Active Camera ใฎ้ธๆŠžใจ้ฉ็”จใ‚’ๆ‹…ๅฝ“ใ—ใพใ™ใ€‚

่ฉณใ—ใใฏ Map Workspace ใ‚’ๅ‚็…งใ—ใฆใใ ใ•ใ„ใ€‚

12. Camera ใจ Viewport ใ‚ตใ‚คใ‚บ

BIT8_CLI 0.1.0 ใฎ Framebuffer ่งฃๅƒๅบฆใฏๅ›บๅฎšใ•ใ‚Œใฆใ„ใพใ™ใ€‚

64 ร— 64 pixels

Camera ใŒๅค‰ๆ›ดใ™ใ‚‹ใฎใฏ่กจ็คบใ™ใ‚‹ World ้ ˜ๅŸŸใงใ™ใ€‚

Framebuffer ่‡ชไฝ“ใฎ่งฃๅƒๅบฆใฏๅค‰ๆ›ดใ•ใ‚Œใพใ›ใ‚“ใ€‚

ใใฎใŸใ‚ใ€ๅฐใ•ใช Viewport ใ‚’้€šใ˜ใฆๅคงใใช Map ใ‚’ๆŽข็ดขใงใใพใ™ใ€‚

13. ็พๅœจใฎๅˆถ้™

BIT8_CLI 0.1.0 ใฎ Camera ใ‚ทใ‚นใƒ†ใƒ ใฏใ€ไธปใซๆฌกใฎๆฉŸ่ƒฝใซๅฏพๅฟœใ—ใฆใ„ใพใ™ใ€‚

  • Map ใƒ‡ใƒผใ‚ฟๅ†…ใฎ Camera
  • World ๅบงๆจ™ใฎๆ็”ปใ‚ชใƒ•ใ‚ปใƒƒใƒˆ
  • ๅ›บๅฎšใฎ 64ร—64 Viewport
  • ๆฑบๅฎš็š„ใช Active Camera ใฎ้ธๆŠž
  • Screen ๅบงๆจ™ใซใ‚ˆใ‚‹ๆ็”ป

้ซ˜ๅบฆใช Camera Effectใ€ๆ˜ ็”ป็š„ใช Transitionใ€ๆฑŽ็”จ็š„ใช Camera Script Framework ใฏใ€็ขบ็ซ‹ใ•ใ‚ŒใŸ 0.1.0 ใฎๆฉŸ่ƒฝใซใฏๅซใพใ‚Œใฆใ„ใพใ›ใ‚“ใ€‚

ๆฌกใธ

Core Systems ใฎๆฌกใฏ้–‹็™บใƒ„ใƒผใƒซใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใงใ™ใ€‚

CLI Reference

้–ข้€ฃใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ๏ผš

Map ใŒไธ–็•Œใ‚’ๅฎš็พฉใ—ใ€Camera ใŒ่ฆ‹ใˆใ‚‹็ฏ„ๅ›ฒใ‚’ๆฑบๅฎšใ—ใพใ™ใ€‚

Clone this wiki locally