Bonjour à tous, je fais un RPG en LUA, et j'ai besoin de vous, car je dois charger des maps, et je bloque complètement.
Je vous explique :
J'ai une énorme map de 3 petites maps par 3 petites maps, soit 9 petites maps en tout.
1 petite map prenant tout l'écran de la PSP.
|-----| -> Représente une petite map
|-----||-----||-----|
|-----||-----||-----|
|-----||-----||-----|
Dès que je sors de cet écran, je change de map, et ça là que je bloque :
------------------------Code:---------------------
-------
-- Chargements des Maps :
image = {}
for i = 1,9 do
image[i] = Image.createEmpty(480,272)
image[i]:blit(0,0,Image.load("Map"..i..".png"))
end
ecran = 1
-- BOUCLE PRINCIPALE
while true do
screen:clear()
pad = Controls.read()
screen:blit(0,0,image[ecran])
-- JE VOUS ENLEVE LES DEPLACEMENTS ET L'AFFICHAGE DES SPRITES CAR TROP LONG !!
-- Affichage Perso :
screen:blit(Player.x,Player.y,sprite_perso)
-- Changements d'écrans :
if Player.x > 450 and ecran ~= 9 then -- Si il est a la dernière map, il peut plus aller vers le droite.
ecran = ecran + 1
Player.x = 5
end
if Player.x < 5 and ecran ~= 1 then -- SI il est a la première map, il peut plus aller vers la gauche.
ecran = ecran - 1
Player.x = 450
end
if Player.y < 5 and ecran ~= 1 and ecran ~= 2 and ecran ~= 3 then -- Si il descend, il saute 3 maps (logique, puisque composé de 3 x 3 maps) (je vous fait un dessin plus bas)
ecran = ecran - 3
Player.y = 242
end
if Player.y > 242 and ecran >= 7 then -- Si il monte, il monte de 3 maps. (je vous fait un dessin plus bas)
ecran = ecran + 3
Player.y = 5
end
-- Limites :
if Player.x > 449 and ecran == 9 then
Player.x = Player.x - 5
end
if Player.x < 0 and ecran == 1 then
Player.x = Player.x + 5
end
if Player.y > 240 and ecran >= 7 then
Player.y = Player.y - 5
end
if Player.y < 0 and ecran <= 3 then
Player.y = Player.y + 5
end
screen.flip()
screen.waitVblankStart()
end
----------------------FIN DE CODE---------------------
ATTENTION : j'ai fait exprès d'oublier tout ce qui est chargements de sprites du personnage, car c'est trop long, et on ne verrais pas bien mon problème....
Voilà le code, donc :
comme vous pouvez le constater, les maps sont donc alignées, et ce n'est pas ce que je veux, et pour compenser un peu cela, et bien j'incrémente (ou décrémente) de 3 quand je passe par les y. (je vous fait un dessin plus bas)
Je détourne donc le problème, puisque, concrètement, ma map ressmble à ça :
|-----| -> Cela représente une petite map
MAP COMPLETTE, AVEC MON PROBLEME
|-----||-----||-----||-----||-----||-----||-----||
-----||-----|
|-----||-----||-----||-----||-----||-----|
|-----||-----||-----|
et je voudrais :
MAP COMPLETTE, APRES MON PROBLEME
|-----||-----||-----|
|-----||-----||-----|
|-----||-----||-----|
Vous comprenez ?
J'espère, et demandez si vous comprenez pas.
Je vous remercie d'avance.