Allô à tous,
Je veux concevoir un coloriage en ligne nouveau. Je ne veux pas qu'on clique des zones pour y appliquer une couleur (ce serait facile) mais je désire qu'on puisse 'passer' un pinceau et appliquer la couleur choisit aux endroits exact où on la veut.
Un début, mais y a que le zoom de conçu:
exempleEt un rendu fait avec photoshop (c'est ça que ce serait supposer donner) :
exemple2Maintenant, la seule façon logique d'arriver a ce résultat, ce serait de dessiner 'en ligne' des Masks. Je m'explique... Une option de 'colorer' en ligne genre appliquer un tracé en _alpha: 45, c'est nul! Flash ne fait qu'ajouter une image en alpha par-dessus notre toile. On perd la richesse et l'intensité des textures d'origines.
Non, moi ce que je veux faire c'est ceci: J'ai dans un mc plusieurs calques avec mon image modifier avec des filtres dans photoshop. Une image sous filtre bleu, mauve, etc... suivant les choix de ma palette de couleur à droite de mon coloriage en ligne. Maintenant... Ce serait de dire à flash: 'Dessine moi un tracé qui sera le mask de 'image-filtre-bleu''. Et là , magie... l'image du filtre bleu apparait là où l'on met la souris. Ben, pas tout à fait! En vérité, il faudrait arriver faire une commande qui dise également : si tu a choisis 'bleu' dans la palette, tu dessines un mask sur _root.toile.bleu. et tu efface _root.toile.gris. Ainsi de suite, selon l'ordre des calques. Bricolage? Ça va laguer même si c réalisable? Je ne sais pas! Mais si ça marche, la qualité du coloriage (je parle pas du temps de réponse) serait IMPECABLE!
J'ai besoin d'aide, parce que pour le moment, je n'arrive pas à dire a flash de dessiner à l'endroit que le désire et qu'en plus ça donne un mask.
Pour l'instant, j'avais comme base ce code-source:
_root.onMouseDown = function () {
mouseact = true;
nb++;
_root.attachMovie ("ligne", "ligne" + nb, nb);
zOrgX = _xmouse;
zOrgY = _ymouse;
eval ("ligne" + nb)._visible = 0;
};
//détection de la souris enfoné
_root.onMouseUp = function () {
mouseact = false;
};
_root.onMouseMove = function () {
if (mouseact) {
OrgX = zOrgX;
OrgY = zOrgY;
var AB = orgX - _root._xmouse;
var BC = orgy - _root._ymouse;
var AC = Math.sqrt ((AB * AB) + (BC * BC));
info.text = nb;
//espacement limite pour tracé une ligne
if (AC > 3) {
nb++;
_root.attachMovie ("ligne", "ligne" + nb, nb);
with (_root["ligne" + nb]) {
_x = OrgX;
_y = OrgY;
_xscale = -(100 * AC) / 340;
_yscale = Number (min_size.text);
//cosinus (angle) = (longueur coté adjacent) / (longueur hypothenuse)
//soit cos = x/z (dans notre cas)
var angle = Math.acos (AB / AC);
var degree = angle * (180 / Math.PI);
_rotation = degree;
if (_root._ymouse > orgy) {
_rotation = -_rotation;
}
_visible = 1;
}
}
//point
if (AC > 3) {
nb++;
var np = nb;
_root.attachMovie ("point", "point" + np, np);
with (_root["point" + np]) {
_x = _root._xmouse;
_y = _root._ymouse;
_xscale = _yscale = Number (min_size.text);
}
zOrgX = _xmouse;
zOrgY = _ymouse;
}
}
if (Key.isDown (Key.BACKSPACE)) {
nb = 0;
for (var z in _root) {
removeMovieClip (_root[z]);
}
}
};
J'ai voulu changer les _root par _parent (j'aurais p-ê dû utiliser this) en mettant le code sur le masque choisit. Or, ça ne marche pas!
J'ai besoin d'une âme généreuse qui voudrait m'aider a réaliser ce beau coloriage!
Merci
[ Lien ]
Ivady