Donc, j'essaie de dessiner quelque chose dans paperjs mais la forme est un peu plus complexe que juste un carré ou un cercle.Créer un symbole à partir de plusieurs chemins dans Paperjs
var path_tank_left_track = new Path({
segments: [[0,0], [10, 0], [10,40], [0,40]], strokeColor: 'black',
closed: true
});
var path_tank_right_track = new Path({
segments: [[40,0], [50, 0], [50,40], [40,40]], strokeColor: 'black',
closed: true
});
var path_tank_body = new Path({
segments: [[10,5], [40,5], [40,35], [10,35]], strokeColor: 'black',
closed: true
});
var path_tank_gun = new Path({
segments: [[23,15], [23,0], [27, 0], [27, 15]],
strokeColor: 'black',
pivot: [25,15],
name: 'gun'
});
Cela fait un petit réservoir, pour faciliter la modification, je regroupé les tous ces chemins dans un groupe comme celui-ci:
var whole_tank = new Group(path_tank_left_track, path_tank_body,
path_tank_right_track, path_tank_gun);
Cela fonctionne très bien si je veux un seul réservoir. Mais j'aimerais faire plus de chars et les faire interagir les uns avec les autres.
J'ai essayé de placer les chemins dans son propre objet et de les placer ailleurs. Cela n'a pas fonctionné.
J'ai entendu des symboles, mais il ne semble pas prendre des groupes comme argument:
var sym = Symbol(whole_tank);
Y at-il un moyen de créer correctement les instances de chemins de multiples? Ou devrais-je créer un symbole pour chaque partie du réservoir, puis les regrouper?
Toute aide est appréciée. Merci.
Cela a fonctionné! Je vous remercie ! Je ne savais même pas que SymbolDefinition existait ... Y at-il un moyen de donner à ces symboles des propriétés qui seront utiles avec mon code? Comme une vitesse ou quelque chose? – ChowderII
Vous pouvez utiliser l'attribut [Item.data] (http://paperjs.org/reference/item/#data) pour stocker les propriétés personnalisées. Vous pouvez voter pour la réponse si vous l'aimez ;-) –
Je n'ai pas encore la réputation d'upvoter quoi que ce soit, mais j'ai marqué votre réponse comme la réponse! Merci encore. – ChowderII