OBJETOS 3D

Um "objeto 3D" é criado usando 3 sprites colocados em diferentes camadas Z. O avatar passará pela frente, por trás e colidirá com a "sombra".

Vamos apresentar aqui um exemplo de lote tendo um "objeto 3D".

<html>
<head>
<script language="Javascript" src="gamelib_core.js"> 
<script language="Javascript"  src="gamelib_sprites.js">
<script language="Javascript" src="gamelib_keyboard.js">
<script language="Javascript">

 function init(){

  Sp_linuxcompatible=true;

  Gl_preloader("floorW05N07.gif"); 
  Gl_preloader("plaquehello.gif"); 
  Gl_preloader("avat1.gif");
  Gl_preloader("fogueiraS.gif"); 
  Gl_preloader("fogueiraU.gif"); 
  Gl_preloader("fogueiraD.gif"); 


   upkey=Kb_trapkey("UP");				 
   downkey=Kb_trapkey("DOWN");			  
   rightkey=Kb_trapkey("RIGHT");	
   leftkey=Kb_trapkey("LEFT");
 
  

  
   av=new Sp_Sprite();	 
   av.setImage("avat1.gif",32,32,4,2);  
   av.setXlimits(5,610);
   av.setYlimits(5,385);	 
   av.moveTo( 300,170);	 
   av.setFrame(3);
   av.setFrameByDirection(90,90,1,180,180,3,270,270,0,0,0,2);
   av.setAnimation(0);
   av.setZ(10);
   av.collides=true;
   av.useHitEvents(true);
   av.setAnimationSpeed(3);
   av.switchOn();

  floor=new Sp_Sprite();			 
  floor.setImage("floorW05N07.gif",614,390,1,1); 
  floor.setXlimits( 0,616);	 
  floor.setYlimits( 0,390);
  floor.setFrame(0);	 
  floor.moveTo(0 , 0 );				 
  floor.setZ(5);  
  floor.switchOn();				 

  pl=new Sp_Sprite();			 
  pl.setImage("plaquehello.gif",179,101,1,1); 
  pl.setXlimits( 0,614);	 
  pl.setYlimits( 0,390);
  pl.setFrame(0);	 
  pl.moveTo(355 , 45 );				 
  pl.setZ(12); 
  pl.makeHard(); 
  pl.switchOn()

   bfU=new Sp_Sprite();	 
   bfU.setImage("fogueiraU.gif",62,27,1,1); 
   bfU.setXlimits( 0,614);	 
   bfU.setYlimits( 0,390);
   bfU.setFrame(0);	 
   bfU.moveTo(180 , 248 );				 
   bfU.setZ(15);  
   bfU.switchOn();		

   bfS=new Sp_Sprite();		 
   bfS.setImage("fogueiraS.gif",62,14,1,1); 
   bfS.setXlimits( 0,614);	 
   bfS.setYlimits( 0,390);
   bfS.setFrame(30);	 
   bfS.moveTo(182 , 263 );				 
   bfS.setZ(0);  
   bfS.makeHard();
   bfS.switchOn();

   bfD=new Sp_Sprite();			 
   bfD.setImage("fogueiraD.gif",56,10,1,1); 
   bfD.setXlimits( 0,614);	 
   bfD.setYlimits( 0,390);
   bfD.setFrame(0);	 
   bfD.moveTo(181 , 275 );				 
   bfD.setZ(6);  
   bfD.switchOn();			
  
  Gl_hook("timestep()"); 
  Gl_start();	
 } 

 function timestep(){
    av.setSpeed(0); 
    av.setAnimationRepeat(0);
   if(rightkey.pressed){
     av.setDir(1,0);
     av.setAnimationRepeat(-1);
     av.setSpeed(2);
   }
   else if(leftkey.pressed){
    av.setDir(-1,0);
    av.setAnimationRepeat(-1);
    av.setSpeed(2);
   }
   else if(downkey.pressed){
    av.setDir(0,1);
    av.setAnimationRepeat(-1);
    av.setSpeed(2);
   }
   else if(upkey.pressed){
    av.setDir(0,-1);
    av.setAnimationRepeat(-1);
    av.setSpeed(2);
   }
 }//timestep

</script>
</head>

<title>TUTCITY  </title>
<body  bgcolor="black"  onload="init()"> 
<html>

Veja esse exercício nesse link. Clique na figura para ativar e "ande" com as teclas de setas.


              LIÇÃO ANTERIOR       PRÓXIMA LIÇÃO             
ÍNDICE HOMEPAGE