Jerom Très bonne participation
Messages : 155 Localisation : Dijon Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com
| Sujet: [résolu] Utiliser un tileset (ressource externe) pour une font Jeu 8 Nov 2012 - 0:21 | |
| Est-il possible de créer une font d'après un sprite stocké en ressources externe, et qui a la forme, non d'un GIF animé ou d'un long strip horizontal, mais d'un "tileset" comme ceci: J'étais parti comme suit mais ça marche pas... - Code:
-
global.font=font_add_sprite(working_directory+"\tileset00.png",0,true,0); //NO
Dernière édition par Jerom le Dim 11 Nov 2012 - 19:00, édité 1 fois |
|
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font Jeu 8 Nov 2012 - 12:00 | |
| Oui, mais pour cela tu vas devoir découper ton sprite. Par exemple tu met ton sprite dans une surface, et ensuite tu découpe ta surface et ajoute les images dans un sprite avec sprite_add_from_surface(ind,id,x,y,w,h). |
|
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font Jeu 8 Nov 2012 - 22:00 | |
| |
|
Jerom Très bonne participation
Messages : 155 Localisation : Dijon Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com
| Sujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font Ven 9 Nov 2012 - 9:30 | |
| @onilink_ bon, j'ai encre jamais utilisé les surfaces (et j'aurais préféré, paraît que c'est pas compatible avec toutes les cartes graphiques?), mais ça a l'air d'être la seule solution. @Caly je connaissais déjà, je m'en sers pour un jeu XNA pour lequel je fais les graphismes mais ça ne me servirait pas dans ce cas-là. |
|
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font Ven 9 Nov 2012 - 10:44 | |
| Normalement c'est compatible avec toutes les Cg qui sont pas trop vielles, mais même mes Cg qu'on plus de 10 ans les supportent donc bon ... x) Et se passer des surfaces dans GM c'est juste pas possible, ça fait parti de ses outils les plus puissants! Sinon théoriquement tu peut faire ce que tu veux sans surface. Essaye ce code: - Code:
-
var w, h, ww, hh, i, j, ret; w = sprite_get_width(argument0) h = sprite_get_height(argument0) ww = w/16 hh = h/16
draw_sprite(argument0, 0, 0, 0)
ret = sprite_create_from_screen(0, 0, ww, hh, 0, 1, 0, 1, 0, 0)
for(j=0; j<h; j+=hh) for(i=0; i<w; i+=ww) { if(i==0 && j==0) continue // skip first image sprite_add_from_screen(ret, i, j, ww, hh) }
return ret Sinon pour le faire en usant d'une surface: Donc créer une surface: 1) Il faut connaitre la taille de ton sprite pour créer une surface de taille équivalente w = sprite_get_width(argument0) h = sprite_get_height(argument0) 2) Tu crée ta surface avec la taille du sprite surf = surface_create(w, h) 3) Tu dit que tu vas dessiner sur la surface surface_set_target(surf) 4) Tu dessine dessus draw_sprite(argument0, 0, 0, 0) 5) Tu remet l'affichage a la normale surface_reset_target() 6) Tu crée ton sprite a partir de la surface Code complet: - Code:
-
var w, h, ww, hh, i, j, surf, ret; w = sprite_get_width(argument0) h = sprite_get_height(argument0) ww = w/16 hh = h/16
surf = surface_create(w, h) surface_set_target(surf) draw_sprite(argument0, 0, 0, 0) surface_reset_target()
ret = sprite_create_from_surface(surf, 0, 0, ww, hh, 0, 1, 0, 1, 0, 0)
for(j=0; j<h; j+=hh) for(i=0; i<w; i+=ww) { if(i==0 && j==0) continue // skip first image sprite_add_from_surface(ret, surf, i, j, ww, hh) } surface_free(surf)
return ret Par contre je ne connais pas la vitesse de sprite_add_from, donc je peut pas te dire si ce seras performant ou pas... |
|
Jerom Très bonne participation
Messages : 155 Localisation : Dijon Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com
| Sujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font Dim 11 Nov 2012 - 19:00 | |
| Merci Onilink_ pour tes codes! Je n'ai malheureusement pas la possibilité de tester ça (PC totalement en fin de vie, ça plante tout le temps, etc.) mais dès que j'aboutis à un truc jouable, je poste ça |
|
Contenu sponsorisé
| Sujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font | |
| |
|