Erreur de la base de données WordPress : [Table 'starxium.wp_termmeta' doesn't exist]
SELECT term_id, meta_key, meta_value FROM wp_termmeta WHERE term_id IN (9) ORDER BY meta_id ASC

Warning: mysql_num_fields() expects parameter 1 to be resource, boolean given in /home/starxium/public_html/blog/wp-includes/wp-db.php on line 3194 class="post-919 post type-post status-publish format-standard hentry category-algorithmes">
24/03/12 | Herobrine | 1 commentaire |

Il n’y a pas eu beaucoup de nouvelles cette semaine car je n’ai pas pu accéder à mon ordinateur.

Mais j’ai quand même quelques nouveautés à vous apporter, surtout en ce qui concerne le moteur 3D : ce sera finalement LWJGL !

Bon, et bien sûr, vu que je n’utiliserai pas celui que j’ai commencé, je vous libère le code pour que vous voyez un peu comment ça fonctionne 😉

Le code :

function renderpoint($player,$direction,$object,$screen,$scale)
{
 $ref_object[0]=$object[0]-$player[0];
 $ref_object[1]=$object[1]-$player[1];
 $ref_object[2]=$player[2]-$object[2];

 $temp=matrix_rotate(array($ref_object[0],$ref_object[1]),$direction[0]);

 $temp_object[0]=$temp[0];
 $temp_object[1]=$temp[1];

 $temp=matrix_rotate(array($temp_object[0],$ref_object[2]),$direction[1]);

 $temp_object[0]=$temp[0];
 $temp_object[2]=$temp[1];

 $screen_object[0]=($screen[0]/2+$screen[2]*$temp_object[1]/$temp_object[0])*$scale;
 $screen_object[1]=($screen[1]/2+$screen[2]*$temp_object[2]/$temp_object[0])*$scale;

 return $screen_object;
}
function matrix_rotate($coord,$angle)
{
 $angle=array('cos' => cos($angle), 'sin' => sin($angle));
 $rotate_coord[0]=$coord[0]*$angle['cos']-$coord[1]*$angle['sin'];
 $rotate_coord[1]=$coord[0]*$angle['sin']+$coord[1]*$angle['cos'];
 return $rotate_coord;
}

Un exemple d’utilisation :

header ("Content-type: image/png");
$image = imagecreate(800,600);

$player=array(-5,4,3);
$direction=array(0.4,-0.2);
$screen=array(8,6,6);

$white = imagecolorallocate($image, 255, 255, 255);<

$point1=renderpoint($player,$direction,array(3,1,0),$screen,100);
$point2=renderpoint($player,$direction,array(3,1,2),$screen,100);
$point3=renderpoint($player,$direction,array(1,1,2),$screen,100);
$point4=renderpoint($player,$direction,array(1,1,0),$screen,100);

ImageFilledPolygon($image, array($point1[0],$point1[1],$point2[0],$point2[1],$point3[0],$point3[1],$point4[0],$point4[1],), 4, imagecolorallocate($image, 25, 25, 25));

$point1=renderpoint($player,$direction,array(3,1,2),$screen,100);
$point2=renderpoint($player,$direction,array(1,1,2),$screen,100);
$point3=renderpoint($player,$direction,array(1,-1,2),$screen,100);
$point4=renderpoint($player,$direction,array(3,-1,2),$screen,100);

ImageFilledPolygon($image, array($point1[0],$point1[1],$point2[0],$point2[1],$point3[0],$point3[1],$point4[0],$point4[1],), 4, imagecolorallocate($image, 50, 50, 50));

$point1=renderpoint($player,$direction,array(1,-1,0),$screen,100);
$point2=renderpoint($player,$direction,array(1,-1,2),$screen,100);
$point3=renderpoint($player,$direction,array(1,1,2),$screen,100);
$point4=renderpoint($player,$direction,array(1,1,0),$screen,100);

ImageFilledPolygon($image, array($point1[0],$point1[1],$point2[0],$point2[1],$point3[0],$point3[1],$point4[0],$point4[1],), 4, imagecolorallocate($image, 75, 75, 75));

imagepng($image);

Ce dernier code donnera ça :

Exemple de rendu

Si vous avez des questions sur son fonctionnement, n’hésitez pas 😉

(Les premières images ingame approchent…)

Un seul commentaire pour le moment

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *