| Souhait : une commande 2D_TEXT | |
|
|
Auteur | Message |
---|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Souhait : une commande 2D_TEXT Jeu 14 Avr 2016 - 8:27 | |
| Bonjour Jack, Bonjour à tous !
Je souhaiterais une commande 2D_TEXTE, comme il en existe une en 3D.
Ceci permettrait d'écrire avec facilité sur une scène 2D. (affichage d'un score ou autre..)
Merci ! | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Souhait : une commande 2D_TEXT Jeu 14 Avr 2016 - 16:25 | |
| Décidément le Scene2D a quelques lacunes...
C'est vrai que ça manque, le 2D_TEXTE, ou alors 2D_TARGET_IS ... Scene2D.
Ce serait bien aussi d'avoir sur le Scene2D (comme l'a demandé Jean Claude par ailleurs) les commandes: - BRIGHTNESS, GAMMA et CONTRAST
Également, FILE_SAVE (en complément du FILE_LOAD) | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Souhait : une commande 2D_TEXT Jeu 14 Avr 2016 - 18:55 | |
| - JL35 a écrit:
- Décidément le Scene2D a quelques lacunes...
Oui c'est vrai, mais il faut dire que l'on n'a pas fait beaucoup de demande en 2D. J'en profite pour rappeler à Jack qu'il y a dans la todolist SPRITE_SHOW(N) et/ou SPRTITE_HIDE(N) déjà vu ici => https://panoramic.1fr1.net/t4207p90-des-procedures-pour-la-2d#50073Bien sûr, j'appuie la demande 2D_TEXTE de Marc37. A+ PS: - JL35 a écrit:
- Ce serait bien aussi d'avoir sur le Scene2D (comme l'a demandé Jean Claude par ailleurs) les commandes:
- BRIGHTNESS, GAMMA et CONTRAST
OUI, mais il faudrait que ce soit également valable pour les SPRITES, car si le monde en 2D est en "nuit", il faut également que les Sprites le soient. Sinon, ça fait désordre. | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: Souhait : une commande 2D_TEXT Lun 18 Avr 2016 - 19:24 | |
| Créer un SPRITE à partir d'un texte est une bonne idée.
J'ai commencé à coder la commande suivante qui crée un SPRITE à partir d'un texte :
SPRITE_TEXT N,T$ avec N=numéro du SPRITE, T$ = texte du SPRITE A la création du SPRITE, les paramètres du texte (couleur, taille, police, attribut) seront ceux attribués au SCENE2D par la famille FONT_xxx _________________ username : panoramic@jack-panoramic password : panoramic123 | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Souhait : une commande 2D_TEXT Lun 18 Avr 2016 - 21:01 | |
| Super, Jack ! Ce sera génial, surtout si, comme pour les autres sprites, la couleur noire restera la couleur de transparence. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Souhait : une commande 2D_TEXT Mar 19 Avr 2016 - 7:33 | |
| Bonjour à tous ! Une bonne nouvelle en plus pour la 2D . Je me suis interrogé sur ce que voulais dire Jack "Créer un SPRITE à partir d'un texte est une bonne idée. " , je pense qu'il a voulu dire l'inverse: créer un texte à partir d'un SPRITE. Pour la couleur de transparence, ça me parait évident qu'elle reste noire. En tous cas, merci Jack. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Souhait : une commande 2D_TEXT Mar 19 Avr 2016 - 12:50 | |
| Ben non Jean Claude,je ne vois pas ce qui te choque. Créer un sprite à partir d'un texte pour moi c'est prendre un texte, et le transformer en sprite (avec tout autour couleur de transparence noire) pour pouvoir l'apposer sur un Scene2d. Créer un texte à partir d'un sprite je ne vois pas trop ce que ça veut dire... Et la couleur de transparence noire ça veut dire que le texte ne peut être noir pur (mais par exemple 1,1,1, ce qui revient au même visuellement). Et moi j'aurais bien aimé le File_Save du Scene2d (complément du File_Load), c'est à dire sauvegarde de l'image visible du Scene_2d avec ses sprites superposés. Je pense par exemple à la sauvegarde de l'ensemble d'une image chargée dans le Scene_2d, sur laquelle on a apposé un ou des texte(s) sous forme de sprite(s). Mais ça c'est peut-être un peu plus compliqué. A défaut on peut toujours faire une capture de la zone écran concernée, mais c'est moins satisfaisant. | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Souhait : une commande 2D_TEXT Mar 19 Avr 2016 - 13:55 | |
| Tout bien réfléchi, je comprends mieux la formulation de Jack grâce à ton intervention JL35. Tout dépend, en fait, de quel coté on se place. Moi, je suis un utilisateur de Panoramic, donc je pense que j'ai besoin d'un SPRITE pour écrire du texte sur un SCENE2D. Jack, lui de son coté, doit créer la commande qui permet de créer un SPRITE à partir d'un texte. Wouai ! je sais, c'est assez subtile. A+ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Souhait : une commande 2D_TEXT Mar 19 Avr 2016 - 19:26 | |
| j'aurais bien aimé le File_Save du Scene2d (complément du File_Load), c'est à dire sauvegarde de l'image visible du Scene_2d avec ses sprites superposés. - Citation :
Si jamais Jack fait ça, ce sera simplement une "photo" su Scene2d. Toute notion des sprites individuels sera perdue. Mais ça, tu peux déjà le faire avec KGF.dll: - Code:
-
res% = DLL_call2("TakeObjectScreenshot",hnd%,adr(fic$)) Tu passes le handle du Scene2d et l'adresse d'une chaîne de caractères contenant me nom du fichier... | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Souhait : une commande 2D_TEXT Mar 19 Avr 2016 - 20:47 | |
| Oui Klaus, mais la sauvegarde du Scene2d sans les sprites n'a pas un gros intérêt, dans ce cas autant mettre l'image dans un Picture.
Mon idée, c'était de charger une image de fond dans un Scene2d, par exemple une photo, d'y incruster des sprites et/ou du texte avec leur couleur de transparence (noir), ça c'est très simple à faire, puis de sauvegarder l'image modifiée visuellement. Si on ne peut sauvegarder que l'image de fond initiale, ça n'a aucun intérêt.
Autant faire l'opération dans un Picture en y appliquant les sprites manuellement en tenant compte de la couleur de transparence (c'est à dire pixel par pixel, ce qui peut être très long, mais bon, ça marche quand même), puis sauvegarder le résultat. L'avantage c'est qu'on n'est pas limité par les dimensions de l'image.
Je peux le faire avec un Scene2d avec ses sprites superposés, mais en sauvegardant le tout par une capture de la zone écran concernée, et là ça limite en taille. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Souhait : une commande 2D_TEXT Mar 19 Avr 2016 - 23:23 | |
| Impossible de faire ce que tu imagines. Jack a expliqué un jour que la partie visible d'un scene2d est juste un canvas (comme un picture) dans lequel on dessine le résultat de chaque action. Une fois le dessin effectué, ce canvas n'a plus aucune notion quelle portion de l'image appartien à quel sprite ou ou fond de l'image. C'est d'ailleurs la raison pour laquelle on n'a pas de ON_CLICK sur un sprite à ce jour, même si Jack y réfléchit. Car, bien sûr, de façon interne, Panoramic a une liste de tous ces éléments et pourrait, à partir des coordonnées d'un clic, parcourir cette liste et déterminer ce qui a été cliqué. Mais tu vois que c'est beaucoup plus compliqué que pour un objet normal où chacun a son propre évènement.
Bien sûr, étant donné que Panoramic a une liste de tous les paramètres du scene2d et des sprites, Jack pourrait écrire une commande sauvegardant toutes ces informations. Ce serait un fichier texte ou XML, mais relativement volumineux car il faut y inclure tous les graphismes (l'image de fond ainsi que celles de tous les sprites) en forme de données hexa des bitmaps concernées. Ce qui est gros. Mais c'est faisable.
Le vrai problème, prohibitif celui-là, se posera lors de la relecture d'un tel fichier. Dans l'absolu, tu peux avoir plusieurs scene2d dans le même programme, chacun avsc ses sprites. Or, les sprites ont une numérotation globale, indépendante de leur appartenance à tel ou tel scene2d. Si maintenant du veux recharger une telle sauvegarde dans un de ces scene2d, il y a 2 choses à faire: 1. supprimer tous les sprites existants du scene2d visé (faisable) 2. recréer tous les sprites mémorisés dans la sauvegarde à recharger Et c'est ce second point qui pose problème. Comment assurer dans ce cas que les numéros des sprites restaurés ne rentrent pas en conflit avec les sprites existants dans les autres scene2d ? Et si l'on attribue systématiquement de nouveaux numéros de sprites, comment ton programme pourrait-il connaître ces numéros qui n'auront à priori plus aucun rapport avec ceux qu'ils avaient au moment de la sauvegarde ?
Bien sûr, on peut se dire "je n'utilise qu'on seul scene2d et il n'y aura donc pas de conflit". Ceci est une restriction sévère et je doute que Jack implémente une commande qui va restreindre de champ d'utilisation. D'autant que même dans ce contexte restreint, la question de la connaissance des numéros des sprites après restauration reste non résolue.
Donc, je te suggère de résoudre le problème au niveau de ton application. Gère des tables dans lesquelles tu mémorises tous les éléments pour chaque sprite. Et fais une fonction de ton application pour sauvegarder le contenu de ces tables. Je fais cela par exemple pour mon objet StringGrid que j'ai réalisé entièrement. Et je sauvegarde absolument tous les éléments, de sorte à pouvoir le restaurer à l'identique. Une fois mis dans une SUB, ça reste un jeu d'enfant à utiliser. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Souhait : une commande 2D_TEXT Mer 20 Avr 2016 - 11:30 | |
| Merci Klaus pour tes éclaircissements et tes suggestions.
Je me doutais bien que ce n'était pas possible de façon simple. Et il y a d'autres moyens de résoudre le problème, et que j'utilise, donc effectivement si c'est pour sauvegarder le Scene2d seul dans son état d'origine, le Save n'a aucun intérêt. | |
|
| |
Contenu sponsorisé
| Sujet: Re: Souhait : une commande 2D_TEXT | |
| |
|
| |
| Souhait : une commande 2D_TEXT | |
|