| Construire un masque pour les sprites | |
|
|
|
Auteur | Message |
---|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Construire un masque pour les sprites Jeu 25 Juin 2015 - 13:07 | |
| Je vais avoir du mal à attendre demain, tout ça est alléchant. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Jeu 25 Juin 2015 - 13:11 | |
| Et accessoirement, le programme contient une petite procédure CopyBitmap qui permet de copier le n-ième sprite d'une planche dans un picture. Pratique... c'est ce qui est utilisé dans la fonction du test d'enchaînement (diaporama), par exemple. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Construire un masque pour les sprites Jeu 25 Juin 2015 - 13:50 | |
| Bravo Klaus, je regarde ça ce soir. Dis Klaus, comme je ne peux pas tester ici, je ne sais plus si dans ton programme tu a les flèches qui permettent de déplacer le sprite vers la droite, la gauche, le bas ou le haut dans la fenêtre d'édition. (Pour régler leur position quand on visualise les animations) | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Jeu 25 Juin 2015 - 14:01 | |
| Non, Jicehel. Le "diaporama" se fait dans le 4ème onglet, dans un picture de travail. Il est automatiquement dimensionné aux dimensions des sprites de la planche. Le but n'est pas de le visualiser "en contexte", dans le jeu, mais juste de vérifier visuellement si la suite des sprites est correcte et si la vitesse d'affichage est bonne. Tout cela est réglable, bien sûr ! | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Construire un masque pour les sprites Jeu 25 Juin 2015 - 14:49 | |
| Ah, sur ce coup là on ne s'est pas compris. Je voulais dire: tu visualise ton animation. tu t'en rend compte qu'il y a un décalage sur l'un des sprites (qui est trop bas ou trop à droite, par exemple) par rapport aux autres. Peux tu le déplacer dans l'image sur la fenêtre d'édition ? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Jeu 25 Juin 2015 - 15:06 | |
| Ca me paraît difficile, Jicehel. Pour moi, un sprite est une petite bitmap d'une taille fixe, idéalement mais pas nécessairement avec un motif sur fond noir qui représente la transparence. Je ne peux pas déplacer le motif à l'intérieur du sprite.
A moins d'ajouter des fonctions de traitement d'image, comme sélectionner un extrait par un rectangle visuel comme je le fais pour la définition des tunes dans un masque, puis agir sur la sélection. Techniquement faisable, mais suivant le positionnement de la sélection, d'éventuels tunes deviendront caduques, à moins de convenir qu'en cas de déplacement du motif, les tunes sont à redéfinir.
Je vais regarder un peu ce que cela représente, techniquement. En déplaçant le motif sélectionné, il faudrait faire venir du noir pour remplir les parties découvertes. Et évidemment, si la partie sélectionnée n'est pas le motif intégral, un déplacement de la sélection va écraser une partie du motif laissé fixe...
EDIT
A moins de voir les choses autrement: on déplace la bitmap entièrement. Les parties dépassant les dimensions actuelles sont perdues, et les parties nues apparaissant suite au déplacement sont remplies par du noir. Ainsi, on agirait sur la totalité de l'image d'un sprite qui au final garde ses dimensions, bien sûr, et on peut actualiser les tunes dans la foulée. Qu'est-ce que tu en penses ? | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Construire un masque pour les sprites Jeu 25 Juin 2015 - 15:33 | |
| C'est tout à fait ça que je voulais dire en fait (désolé si ce n'est pas très clair, ce n'est pas toujours facile d'exprimer ce que l'on a dans la tête). En fait si le sprite et mal positionné, c'est bien des zones transparentes qu'il faut ajouter et en effet on perd ce qui dépasse (qui est certainement transparent). Sinon si l'image doit être agrandit, ça veut dire que l'on doit agrandir toute la collection. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Jeu 25 Juin 2015 - 19:24 | |
| Pour le déplacement du sprite dans le sens que nous venons de décrire, c'est presque fait. 3 directions marchent bien, je suis en train de faire la 4ème. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Jeu 25 Juin 2015 - 19:42 | |
| Nouvelle version: V1.14 du 25/06/2015
Nouveauté: ajout de 4 boutons pour déplacer un sprite à l'intérieur de son picture
Le code est à jour dans le dossier Outils\Outils graphiques\ de mon WebDav.
L'interface visuelle a été légèrement revue pour présenter les nouveaux boutons de façon intuitive. Le décalage se fait pixel par pixel, en perdant une ligne ou une colonne de pixels à l'avant du sprite dans le sans du mouvement, et en faisant apparaître l'équivant à l'arrière, en couleur noire pour avoir la transparence.
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Jeu 25 Juin 2015 - 23:58 | |
| J'ai ajouté un petit test au démarrage pour vérifier la présence de KGF.dll ou de KGFbitmap.dll, selon la configuration en début de programme. Si la DLL choisie n'est pas trouvée, le programme le signale et informe l'utilisateur que les fonctions de zoom et de rotation de fonctionneront pas.
Pas de changement de version pour cela. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 1:24 | |
| J'ai eu un name already defined line 1197 en effectuant plusieurs rotations | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 1:38 | |
| En rotation à gauche ? Je pense que c'est parce que tu as lancé une rotation alors que la précédente n'était pas encore finie, et il tente de redéfinir la même variable locale. Je vais introduire une sécurité pour bloquer cela. En attendant, essaie de faire ces rotations après la disparition du message de progression... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 8:03 | |
| oui, j'ai dû cliquer 2 fois | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 10:43 | |
| Bonjour à tous,
Je viens de télécharger.
Ça a bien changé, pour le moment j'explore ce que je connaissais déjà: fabriquer un sprite avec tunes.
une proposition pour le rectangle rouge: Son déplacement par pixel est indispensable, je le comprend, mais pourrais-tu ajouter un spin pour changer le nombre de pixels de façon à accélérer le mouvement. L'utilisateur pouvant revenir à 1 pixel quand il le souhaite pour affiner le tune.
OU des boutons que l'on maintient appuyés, pour éviter 100 click si tu déplaces de 100Px.
L'outil de rotation RotateScanLine est tout simplement génial.
A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 11:02 | |
| Pour la répétition du déplacement du rectangle pixel par pixel, c'est très simple. En fait, tu cliques 1 fois sur le bouton qui t'intéresse (déplacement dans un des 4 sens, on des boutons de réduction ou d'agrandissement). L'opération, à peine perceptible, va s'effectuer. Mais ensuite, le bouton reste sélectionné, et c'est un effet Windows que Panoramic ne change pas. Donc, après le premier clic, il suffit d'appuyer sur la touche RETURN, et éventuellement garder la touche RETURN enfoncée, pour que l'opération se répète automatiquement. C'est comme ça que je procède. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 11:08 | |
| C'est une bonne astuce, en effet, mais c'est vrai que la spin est sympa aussi. Je me demande d'ailleurs si un petit controle personnalisé ne serait pas sympa. Ce serait un retangle plus foncé à gauche et en haut (ou à droite et en bas qu'importe) avec 2 rectangles correspondants à la position des bornes du rectangle. Ces bornes pourraient être déplacées par cliquer / glisser et leurs positions ajustées en les sélectionnant puis en les déplacant avec les boutons. C'est une idée comme je sais que tu sais faire et je pense que pour définir des rectangles pour ce type d'usage, c'est une méthode assez intuitive et rapide. Bon on est dans le détail là, je ne sais pas si tu adopteras l'idée et si tu l'adoptes, ça n'a rien de prioritaire. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 11:15 | |
| Merci pour l'astuce Klaus, je ne connaissais pas.
A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 11:35 | |
| @Jicehel: Tant que Panoramic n'a pas les évènements ON_MOUSE_UP, ON_MOUSE_IN, ON_MOUSE_OUT et ON_MOUSE_MOVE, il est très compliqué de réaliser un cliquer/glisser en Panoramic pur. A moins de gérer un timer avec une intervalle assez brève, examiner la position et l'état d'enfoncement de la souris à chaque évènement ON_TIMER, ce qui devient une usine à gaz. C'est la raison pour laquelle j'ai choisi la méthode par boutons. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 11:38 | |
| Nouvelle version: V1.15 du 26/06/2015
Nouveauté: sécurisation de toutes les fonctions contre un clic en cours d'exécution d'une des fonctions
Le code est à jour dans le dossier Outils\Outils graphiques\ de mon WebDav.
Ceci résout un problème qui pouvait se poser lorsqu'on lançait par exemple une rotation, alors que la même rotation était encore en cours. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 11:57 | |
| Pas de problème Klaus, mais on peut tricher en plaçant des bouton comme petits rectangles, comme ça on peut recupérer les événements, non ? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 12:05 | |
| Oui, mais uniquement le "clic". Pas le "down", ni le "move", ni le "up". Donc, à part un timer, je ne vois pas comment suivre un cliquer/glisser. L'idée est quand-même d'accrocher une poignée en enfonçant le bouton gauche tout en le maintenant enfoncé, suivre la position de la souris et adapter l'affichage en correspondance, et terminer la séquence lorsque le bouton est relâché. Actuellement, je ne sais pas faire en Panoramic pur. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Construire un masque pour les sprites Ven 26 Juin 2015 - 13:47 | |
| OK, de toute façon c'est du confort et secondaire. Ce n'est pas grave et c'est vrai que l'on peut faire autrement. | |
|
| |
Contenu sponsorisé
| Sujet: Re: Construire un masque pour les sprites | |
| |
|
| |
| Construire un masque pour les sprites | |
|