2009-05-16 7 views
-1

Comment puis-je charger certaines images dans un tableau comme misLoading image dans un tableau

Map = ((1, 1, 1), (2, 2, 2), (3, 3, 3)) 

je peux mettre

images dans des variables comme si

one = oslLoadImageFile ("one.png ", OSL_IN_RAM, OSL_PF_5551);

donc whould je sois capable de faire quelque chose comme carte = ((un, un, un))

et si chaque image 32x32 serait-il capable d'être côte à côte plutôt que d'une pixal avant

Je suis toujours en train d'apprendre et d'essayer de faire quelques notions de base

+0

Votre question n'est pas si claire – rahul

+2

De quelle langue parlez-vous et quelle est votre application? Vous pouvez stocker l'image dans un tableau d'octets, mais cela ne vous donnera pas de détails sur les pixels. Cependant, si vous souhaitez regarder des pixels individuels dans des images, ou recadrer ou quoi que ce soit, vous devrez regarder des bibliothèques spécifiques à la langue dans laquelle vous travaillez. – Daniel

Répondre

0

Il semble que vous vouliez construire une carte de tuiles pour un jeu en 2D. Dans ce cas, vous voudriez avoir un seul sprite contenant toutes vos tuiles. La carte contiendrait alors des indices pour des tuiles spécifiques.

Lorsque vient le temps de dessiner les tuiles, vous copiez des parties de l'image-objet en fonction de l'index des tuiles.

Si vous aviez une image sprite avec des tuiles indexées comme suit:

+---+---+---+---+ 
| 0 | 1 | 2 | 3 | 
+---+---+---+---+ 
| 4 | 5 | 6 | 7 | 
+---+---+---+---+ 
| 8 | 9 | 
+---+---+ 

Vous pouvez utiliser someting comme ceci pour calculer le rectagle à copier pour chaque index de tuile:

const int TILE_SIZE = 32; 
const int TILES_PER_ROW = 10; 

int xCoordinate = TILE_SIZE * (tileIndex % TILES_PER_ROW); 
int yCoordinate = TILE_SIZE * (tileIndex/10); 

Draw(tileSet, xCoordinate, yCoordinate, TILE_SIZE, TILE_SIZE); 
1

semble être que vous utilisez C++ OldSchool Library pour PSP. Selon son documentation vous devriez créer un fichier image qui devrait contenir un ensemble d'images et ensuite vous serez capable de créer une carte avec.

//definition of the pointers towards our image 
OSL_IMAGE *Zora_tileset; 

//definition of the pointers towards our map 
OSL_MAP *zora; 


Zora_tileset = oslLoadImageFile("tileset.png", OSL_IN_RAM, OSL_PF_5551); 

//check 
if (!Zora_tileset) 
    oslDebug("Check if all the files are copied in the game folder."); 

//configuration of the map 
zora = oslCreateMap(
    Zora_tileset,  //Tileset 
    Zora_map,  //Map 
    16,16,  //Size of tiles 
    64,65,  //Size of Map 
    OSL_MF_U16);  //Format of Map 

Il semble que cette bibliothèque a un usage très limité et ce sera une bonne idée de poser votre question sur son forum.

Questions connexes