python:pygram:carre

Carré

  • Dans le fichier texte shapes.py, Ă  la suite de la fonction Rectangle
  • Ajouter une fonction square(x,y,w) permettant de gĂ©nĂ©rer des carrĂ©s de toutes tailles.
  • Utiliser la fonction square() pour ajouter un carrĂ© Ă  cĂ´tĂ© des deux premiers rectangles.

Détails

  • Par la suite, nous masquons les « contenus » que vous devez crĂ©er par …

Arguments

  • La fonction doit prendre 3 arguments et utiliser la fonction Rectangle

Nom

  • Les objets créés par la fonction square() doivent ĂŞtre nommĂ©s square
  • Pour renommer les objets créés par la fonction rectangle()
  • Il faut modifier la fonction rectangle() pour qu'elle retourne la variable obj qui contient l'objet Pygram qu'elle a créé :
def rectangle(...):
  ...
  return obj
  • Dans la fonction square() maintenant, rĂ©cupĂ©rer l'objet et le stocker dans une variable obj
obj = rectangle(...)
  • Puis utiliser dans la fonction square() la fonction rename() des objets Pygram :
obj.rename("square")

Structure

  • Le fichier shapes.py doit donc maintenant contenir les Ă©lĂ©ments suivants :

Le module d'importation

import bpy
Pygram = bpy.data.texts["pygram.py"].as_module()
  • La fonction rectangle()
def rectangle(...) :
  ...
  • Suivie des appels de fonctions que nous pouvons maintenant stocker dans des variables
r1 = rectangle(...)
r2 = rectangle(...)
  • Ensuite, nous avons la fonction square()
  • Dans laquelle un appel de la fonction rectangle() a lieu
def square(...):
  ...
  obj = rectangle(...)
  ...
  return obj
  • Enfin, nous appelons la fonction square() et stockons l'objet dans une nouvelle variable :
sq = square(...)
  • :!: Attention Ă  ne pas nommer la variable contenant l'objet carrĂ© « square », car ce nom est dĂ©jĂ  utilisĂ© par la fonction square().

Objets

  • Ă€ chaque fois que nous essayons ce script, de nouveaux objets sont créés qui viennent se superposer sur les objets prĂ©cĂ©demment créés.
  • Ajoutons juste en dessous de la ligne d'importation de module la fonction suivante pour supprimer tous les objets avant chaque nouvelle utilisation du script :
Pygram.cleanup()