AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-40%
Le deal à ne pas rater :
-40% sur le Pack Gaming Mario PDP Manette filaire + Casque filaire ...
29.99 € 49.99 €
Voir le deal

 

 [résolu] Utiliser un tileset (ressource externe) pour une font

Aller en bas 
3 participants
AuteurMessage
Jerom
Très bonne participation
Jerom


Messages : 155
Localisation : Dijon
Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com


[résolu] Utiliser un tileset (ressource externe) pour une font  Empty
MessageSujet: [résolu] Utiliser un tileset (ressource externe) pour une font    [résolu] Utiliser un tileset (ressource externe) pour une font  EmptyJeu 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:
[résolu] Utiliser un tileset (ressource externe) pour une font  Anikki_square_8x8

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
Revenir en haut Aller en bas
http://2945-devblog.blogspot.com/
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[résolu] Utiliser un tileset (ressource externe) pour une font  Empty
MessageSujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font    [résolu] Utiliser un tileset (ressource externe) pour une font  EmptyJeu 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).

_________________
[résolu] Utiliser un tileset (ressource externe) pour une font  Runningpotato1[résolu] Utiliser un tileset (ressource externe) pour une font  TvF6GED [résolu] Utiliser un tileset (ressource externe) pour une font  MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


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.

[résolu] Utiliser un tileset (ressource externe) pour une font  Empty
MessageSujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font    [résolu] Utiliser un tileset (ressource externe) pour une font  EmptyJeu 8 Nov 2012 - 22:00

Voici un petit logiciel magique:
http://www.nubik.com/SpriteFont/
Revenir en haut Aller en bas
Jerom
Très bonne participation
Jerom


Messages : 155
Localisation : Dijon
Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com


[résolu] Utiliser un tileset (ressource externe) pour une font  Empty
MessageSujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font    [résolu] Utiliser un tileset (ressource externe) pour une font  EmptyVen 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 Wink mais ça ne me servirait pas dans ce cas-là.
Revenir en haut Aller en bas
http://2945-devblog.blogspot.com/
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[résolu] Utiliser un tileset (ressource externe) pour une font  Empty
MessageSujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font    [résolu] Utiliser un tileset (ressource externe) pour une font  EmptyVen 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...

_________________
[résolu] Utiliser un tileset (ressource externe) pour une font  Runningpotato1[résolu] Utiliser un tileset (ressource externe) pour une font  TvF6GED [résolu] Utiliser un tileset (ressource externe) pour une font  MdetltS
Revenir en haut Aller en bas
Jerom
Très bonne participation
Jerom


Messages : 155
Localisation : Dijon
Projet Actuel : LOKI's BREED #shmup 2D www.metalepse-games.com


[résolu] Utiliser un tileset (ressource externe) pour une font  Empty
MessageSujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font    [résolu] Utiliser un tileset (ressource externe) pour une font  EmptyDim 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 Wink
Revenir en haut Aller en bas
http://2945-devblog.blogspot.com/
Contenu sponsorisé





[résolu] Utiliser un tileset (ressource externe) pour une font  Empty
MessageSujet: Re: [résolu] Utiliser un tileset (ressource externe) pour une font    [résolu] Utiliser un tileset (ressource externe) pour une font  Empty

Revenir en haut Aller en bas
 
[résolu] Utiliser un tileset (ressource externe) pour une font
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Avoir qu'une planche unique de sprites en ressource externe
» [résolu] Nom d'une ressource pour une condition
» [Resolu] Utiliser une sav pour un autre jeu
» problème ressource externe
» Cite web pour tileset de RGP Maker

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: