IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Mask et coloriage en ligne innovateur (je pense)


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 429
    Points : 60
    Points
    60
    Par défaut Mask et coloriage en ligne innovateur (je pense)
    Allô à tous,
    Je sais pas si c'est la place pour ce genre de jeu (c plus la 3d qu'on jase dans le coin) mais c'est ici que je remarque avoir plus de chance d'être répondu.

    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: exemple

    Et un rendu fait avec photoshop (c'est ça que ce serait supposer donner) : exemple2

    Maintenant, 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:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    _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

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 429
    Points : 60
    Points
    60
    Par défaut
    Or, je crois que le code d'en haut est trop lourd et trop compliqué pour ce que j'ai besoin. J'ai trouver ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import flash.display.Sprite;
     
    // Create mask
    var maskArea = new Sprite();
    maskArea.graphics.beginFill(0xFF0000);
    maskArea.graphics.drawRect(-29.5, -22.5, 59, 46);
    addChild(maskArea);
     
    // Apply mask
    myInstance.mask = maskArea;
    C'était sur ce site: http://www.adobe.com/fr/devnet/flash...plication.html

    Voilà ce que l'auteur disait:
    Le code ci-dessous montre comment dessiner dynamiquement un rectangle, puis l'appliquer comme masque à une autre instance. L'objet masque n'ayant pas de scénario, il est créé sous forme de sprite, et non de séquence vidéo

    Il est donc possible de dessiner un mask en ligne en... AS3. C'est malheureusement inaccessible pour moi! Y aurait-il un moyen d'y arriver en AS2?

Discussions similaires

  1. Site web de coloriage en ligne
    Par vue360 dans le forum Débuter
    Réponses: 2
    Dernier message: 17/02/2010, 18h51
  2. Coloriage en ligne
    Par Ivady dans le forum Projets
    Réponses: 12
    Dernier message: 04/04/2009, 15h20
  3. Réponses: 1
    Dernier message: 10/03/2009, 09h46
  4. [CSS enfin je pense]Retour à la ligne...
    Par lietof dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 08/03/2006, 14h17
  5. [JTable][TableCellRenderer]Problèmes avec coloriage de ligne
    Par Baptiste Wicht dans le forum Composants
    Réponses: 7
    Dernier message: 11/02/2006, 09h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo