Bonsoir à vous,
Voilà j'ai crée une carte pour un jeu que j'ai stocké dans un fichier texte de la façon suivante :
J'avais dans un 1er temps afficher la map en la lisant le fichier, le problème c'estque plus j'ai de tile à afficher et plus le temps est long (sur une map de 15*15 avec des tiles de 32pixels), il me faut pas loin de 10 secondes si j'ai plus de 80% de tiles différents (exemple classique : une ville).
Je me suis donc dit, essayons de générer une carte via GD, et on mettra tout cà dans un cache (avec les fonctions php ob_....).
Alors voici le code de génération de l'image, mais tout ce que j'obtiens c'est cà :
Voici le code :
Auriez vous une idée ?
Merci par avance pour votre aide.
Pour info, l'image source existe bien, un <img> me l'a bien montré.
Voilà j'ai crée une carte pour un jeu que j'ai stocké dans un fichier texte de la façon suivante :
Citation :45.jpg,53.jpg,53.jpg,53.jpg,53.jpg,53.jpg,53.jpg,53.jpg,53.jpg,53.jpg,53.jpg,53.jpg,53.jpg,53.jpg,46.jpg
50.jpg,2.jpg,2.jpg,2.jpg,2.jpg,2.jpg,2.jpg,2.jpg,2.jpg,2.jpg,2.jpg,2.jpg,2.jpg,2.jpg,51.jpg
etc ...
J'avais dans un 1er temps afficher la map en la lisant le fichier, le problème c'estque plus j'ai de tile à afficher et plus le temps est long (sur une map de 15*15 avec des tiles de 32pixels), il me faut pas loin de 10 secondes si j'ai plus de 80% de tiles différents (exemple classique : une ville).
Je me suis donc dit, essayons de générer une carte via GD, et on mettra tout cà dans un cache (avec les fonctions php ob_....).
Alors voici le code de génération de l'image, mais tout ce que j'obtiens c'est cà :
Citation :Warning: imagecopy(): supplied argument is not a valid Image resource in /home/lesmonde/public_html/admin/gen_map.php on line 74
Resource id #4 ,images/ville/45.jpg,0,0,0,0,32,32
Warning: imagecopy(): supplied argument is not a valid Image resource in /home/lesmonde/public_html/admin/gen_map.php on line 74
Resource id #4 ,images/ville/53.jpg,32,0,0,0,32,32
etc ..
Voici le code :
Code :
$image_carte = @imagecreatetruecolor (480,480) or die ("Impossible de crée un flux d'image GD");
//Je lit le fichier de map
$fp = fopen("maps/".$_POST['carte_edit'].".txt","r");
$dst_y=0;
while(!feof($fp))
{
$buffer = fgets($fp, 4096);
$images=explode(",",$buffer);
$nbre=count($images);
for($i=0;$i<$nbre;$i++)
{
$dst_x=$i*32;
$source=$rep.$images[$i];
imagecopy($image_carte ,$source,$dst_x,$dst_y,0,0,32,32);
}
$dst_y=$dst_y+32;
}
imagecolortransparent($image_carte);
imagepng($image_carte, "maps/".$_POST['carte_edit'].".png");
imageDestroy ($image_carte);
Auriez vous une idée ?
Merci par avance pour votre aide.
Pour info, l'image source existe bien, un <img> me l'a bien montré.