Szöveg szélesség számítás fix
This commit is contained in:
@@ -8,6 +8,9 @@ Teljesen AI-generált szakaszokat egy `# !!! CHATGPT !!!` komment jelzi
|
|||||||
### main.py
|
### main.py
|
||||||
* Game
|
* Game
|
||||||
|
|
||||||
|
### text.py
|
||||||
|
* Többsoros szöveg szélessége
|
||||||
|
|
||||||
### renderers.py
|
### renderers.py
|
||||||
* TextureRenderer
|
* TextureRenderer
|
||||||
* NineSlicesPanel
|
* NineSlicesPanel
|
||||||
|
|||||||
15
src/text.py
15
src/text.py
@@ -83,9 +83,19 @@ class TextRenderer:
|
|||||||
for s in self.sprites:
|
for s in self.sprites:
|
||||||
s[1] = s[1].move(x, y)
|
s[1] = s[1].move(x, y)
|
||||||
|
|
||||||
|
# !!! ChatGPT !!!
|
||||||
def render(self, discoloration=(255,255,255)):
|
def render(self, discoloration=(255,255,255)):
|
||||||
offset = -(sum(s[2] for s in self.sprites) // 2) if self.center else 0
|
offsets = []
|
||||||
for s in self.sprites:
|
sprite_idx = 0
|
||||||
|
for line in self.text.split('\n'):
|
||||||
|
line_len = len(line)
|
||||||
|
line_sprites = self.sprites[sprite_idx : sprite_idx + line_len]
|
||||||
|
line_width = sum(s[2] for s in line_sprites)
|
||||||
|
line_offset = -(line_width // 2) if self.center else 0
|
||||||
|
offsets.extend([line_offset] * len(line_sprites))
|
||||||
|
sprite_idx += line_len
|
||||||
|
|
||||||
|
for s, offset in zip(self.sprites, offsets):
|
||||||
arcade.draw_texture_rect(
|
arcade.draw_texture_rect(
|
||||||
s[0],
|
s[0],
|
||||||
s[1].move(offset, 0),
|
s[1].move(offset, 0),
|
||||||
@@ -93,6 +103,7 @@ class TextRenderer:
|
|||||||
color=arcade.types.Color(*discoloration)
|
color=arcade.types.Color(*discoloration)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# !!! ChatGPT vége !!!
|
||||||
# a \n display függvénye
|
# a \n display függvénye
|
||||||
def newline(self):
|
def newline(self):
|
||||||
self.y -= 13
|
self.y -= 13
|
||||||
|
|||||||
Reference in New Issue
Block a user