CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[nds]sprite s'affiche pas(palib,devkitp)

louloup
louloup
Niveau 2
19 août 2008 à 22:19:44

bonjour tout le monde

est-ce que quelqu'un pourrait m'aider s'il vous plaît? (j'aimerais apprendre à faire des jeu sur ds)

mon problème c'est que mon sprite ne s'affiche pas sur l'émulateur quand j'ouvre le fichier nds rom.
la première chose que j'ai faite c'est de créer un carré rouge64X64 sur paint ensuite j'ai mis l'image bitmap dans PAGfx je l'ai converti avec PAGC frontend avant de convertir j'ai eu un message qui me disait que ce n'était pas une image 256 couleur donc j'ai choisi 16 couleur et puis j'ai converti
,après j'ai copié les fichiers all_gfx.c ; all_gfx.h ; PAGfx.paramètreconfiguration ; PAGfx.PAGfx PAlib.com ; PAGfx.document texte ; carrerouge.c;carrerouge.pal.c ; carrerouge.imagebitmap et je les ai coller dans un dossier gfx que j'ai créé,j'y ai ajouté le dossier bin qui contenait
les ISO files carrerouge_pal;carrerouge_sprite.après j'ai envoyé le dossier gfx dans le dossier source qui se trouve dans Palibtemplate,j'ai ouvert le main.c et j'ai tapé ceci;

  1. include <PA9.h>
  1. include "gfx/all_gfx.c"
  2. include "gfx/all_gfx.h"

int main(int argc, char ** argv)
{
PA_Init();
PA_InitVBL();
PA_LoadSpritePal(0,0,(void*)carrerouge_Pal);

PA_CreateSprite(0,0,(void*)carrerouge_Sprite,OBJ_S
IZE_64X64,0,0,50, 50);
while (1)
{
PA_WaitForVBL();
}

return 0;
}

ensuite j'ai fermé main.c et j'ai cliqué 2 fois sur build ce qui m'a donné 2 ds rom.quand je les ouvre avec l'émulateur je ne vois pas mon sprite.
est-ce que vous pouvez me dire ce que j'ai oublié ou ce que j'ai mal fait.

final-hearts
final-hearts
Niveau 10
19 août 2008 à 22:48:24

Je suis pas sûr car je connais pas ta lib, mais t'oublierai pas par hasard d'afficher l'image ?

De plus, la variable carrerouge_Pal n'est initialisée nulle part dans ce que tu montres, et je sais pas si c'est fait automatiquement, mais t'es pas censé faire en sorte qu'un Objet/Structure accueille l'image générée par "PA_LoadSpritePal(0,0,(void*)carrerouge_Pal);" ou par
"PA_CreateSprite(0,0,(void*)carrerouge_Sprite,OBJ_
S
IZE_64X64,0,0,50, 50); " ?

De plus, l'écran n'est initialisé nulle part dans ce que tu montres, tout comme il n'y a rien qui indique que tu affiche bien à l'écran les sprites.

Tous ceux susceptible de t'aider ne connaissent pas forcément ta librairie, peux-tu nous indiquer vers un tuto indiquant comment s'en servir ou au moins vers sa doc ?

DrTenma
DrTenma
Niveau 6
20 août 2008 à 00:02:10

Le code est correcte, ça doit fonctionner.

Tu peux poster le contenu de all_gfx.c ?

louloup
louloup
Niveau 2
20 août 2008 à 00:38:30

voici le contenu de all_gfx.c://Gfx converted using Mollusk's PAGfx Converter

//This file contains all the .c, for easier inclusion in a project

  1. ifdef __cplusplus

extern "C" {

  1. endif
  1. include "all_gfx.h"

// Sprite files :

  1. include "carrerouge.c"

// Palette files :

  1. include "carrerouge.pal.c"

// Background Pointers :

  1. ifdef __cplusplus

}

  1. endif
louloup
louloup
Niveau 2
20 août 2008 à 01:06:51

il me semble que ma librairie est palib je l'ai téléchargé sur ce
site:http://www.palib.info/wikifr/doku.php?id=day1

  1. faq_-_installing_and_compiling

sur ce site ils expliquent comment faire pour mettre des sprites j'ai essayé de faire comme c'était expliqué mais je ne comprends pas ce que j'ai oublié.

DrTenma
DrTenma
Niveau 6
20 août 2008 à 02:27:05

t'as essayé d'utiliser une sprite fournie avec les exemples de Palib ? ou remplacer une sprite par la tienne dans un exemple d'affichage de sprite qui marche déjà ? juste pour voir d'où ça vient ? parce que la apparemment il y a aucun pb.

final-hearts
final-hearts
Niveau 10
20 août 2008 à 08:37:50

à quoi elle sert la fonction "PA_WaitForVBL();" ?

DrTenma
DrTenma
Niveau 6
20 août 2008 à 09:24:41

C'est la vsync.

Lapintade
Lapintade
Niveau 30
20 août 2008 à 10:05:08

Et donc pas besoin d'appeller une fonction explicite d'affichage pour chaque frame ?
(j'aurai repondu comme final-hearts)

DrTenma
DrTenma
Niveau 6
20 août 2008 à 10:38:57

Non quand tu crées une sprite avec PA_CreateSprite, elle va etre par defaut affichée sur l'ecran. Apres il suffit de changer sa position avec PA_SetSpriteXY, c'est comme ça avec Palib.

Lapintade
Lapintade
Niveau 30
20 août 2008 à 10:49:03

ok :ok:

louloup
louloup
Niveau 2
20 août 2008 à 12:12:22

je viens de remplacer mon sprite par le sprite "vaisseau" et ça fonctionne le vaisseau s'affiche.
après j'ai fait l'inverse j'ai mis mon sprite à la place de celui du vaisseau mais rien ne s'affiche,pas de carré rouge.
donc c'est peut-être l'image 16 couleur qui ne va pas,est-ce que si je mettais une image 256 couleur ça passerait,est-ce que quelqu'un pourrait me donner une image 256 couleur 64X64 pour voir si je peux l'afficher.

Lapintade
Lapintade
Niveau 30
20 août 2008 à 12:29:03

C'est surement un probleme de conversion d'image oui.
T'ira plus vite de te creer une image 256 couleur (mets un degradé dedans)

louloup
louloup
Niveau 2
20 août 2008 à 12:56:57

bon ba je vais essayer ça

louloup
louloup
Niveau 2
20 août 2008 à 17:13:35

c'est bon j'ai trouvé ce qui clochait en fait c'est tout con j'ai oublié d'indiquer le mode de couleur "16c" de la palette,j'avais tapé PA_LoadSpritePal à la place de taper PA_LoadSprite16cPal.

merci tout le monde d'avoir répondu à mon sujet.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment