j'ai créé une fonction qui dessine un carré avec le module kandinsky (juste en utilisant la fonction set_pixel).
Je voulais savoir si quelqu'un avais une idée pour la rendre plus rapide.
Voici mon code:
def draw_square(x=0, y=0, size=4, thickness=1, color=(0, 0, 0)):
for t in range(thickness):
for line in range(4):
for point in range(size):
set_pixel(x, y, color)
if line % 2:
y += 1 if line <= 1 else -1
else:
x += 1 if line <= 1 else -1
x += 1
y += 1
size -= 2
peut-être en listant dans un premier temps les coordonnées des points puis une boucle parcourant cette liste pour l'affichage ?
ou utiliser la fonction pygame.draw.rect (vu que le module dépend de pygame)
se module est une reproduction de l'original (développé par Numworks), l'original n'est pas codé avec Pygame. De plus, je ne pense pas que lister tout les points soit plus efficace.
josmiley a écrit:
Dessine 4 pixels à la fois...
je ne sais pas si c'est ce que tu voulais dire, mais c'est vrai que j'aurais pu dessiner les quatre côtés avec la fonction fill_rect ca demanderais seulement 4 itérations ...
j'avais fait ça au début, mais finalement j'ai changé, car j'utilise cette fonction pour un tableau periodique dynamique pour ma calculatrice. Mais au final je pense que je vais utiliser cette solution, mais ça me force à redessiner toute la case au hover.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.