Гексогональная сетка

Alkrip

Новичок
Пользователь
Апр 30, 2022
1
0
1
Здравствуйте формучане!
Столкнулся с такой вот проблемой. Есть код для квадратичной тайловой системы. Мне же нужно подогнать его в гексогональную, Примерный результат приведен ниже(программа Tiled). Может кто-то помочь с написанием кода или хотя бы подкинуть идейку по реализации? Я использовал библиотеку "pytmx" для расшифровки tmx файлов.
Основной код:
Python:
import pygame
import sys
from pytmx.util_pygame import load_pygame
from tiles import Tile
from settings import *
 
pygame.init()
screen = pygame.display.set_mode(((screen_width, screen_height)), pygame.RESIZABLE)
pygame.display.set_caption("-")
clock = pygame.time.Clock()
 
tmx_data = load_pygame('./data/tmx/level_test.tmx')
sprite_group = pygame.sprite.Group()
 
for layer in tmx_data.visible_layers:
    if hasattr(layer,'data'):
        for x,y, surf in layer.tiles():
            pos = (x * 64 , y * 64)
            Tile(pos = pos, surf = surf, groups = sprite_group)
 
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
 
    screen.fill(BLACK)
    sprite_group.draw(screen)
 
    pygame.display.update()
    clock.tick(FPS)
Тайлы:
Python:
class Tile(pygame.sprite.Sprite):
    def __init__(self,pos,surf,groups):
        super().__init__(groups)
Результат:

        self.image = surf
        self.rect = self.image.get_rect(topleft = pos)
 

Вложения

  • Screenshot_2.png
    Screenshot_2.png
    9,5 КБ · Просмотры: 1

Форум IT Специалистов