The first weblog devoted to Demoniak3D Demo-System

HUD et Ordre en Z

April 29th, 2008 Posted in Lua, Tips'n'Tricks, Tutorials
  • English
  • French

Il est possible de spécifier l’ordre dans lequel sont affichés les HUD en jouant sur la position z du HUD et en activant le test de profondeur (depth-test). Le bout de code suivant nous montre comment afficher un HUD rouge par dessus un HUD blanc (bien que le HUD rouge ait été déclaré en premier dans le script XML). Il faut juste faire attention à la plage de valeurs de z qui est comprise entre -1.0 et +1.0.

<hud name="Red_Hud" render="TRUE" >
	<position x="-30.0" y="-20.0" z="0.7" />
	<size width="100" height="100" />
	
	<vertex_color index="0" 
				  r="1.0" g="0.0" b="0.0" a="1.0"  />
	<vertex_color index="1" 
				  r="1.0" g="0.0" b="0.0" a="1.0"  />	
	<vertex_color index="2" 
				  r="1.0" g="0.0" b="0.0" a="1.0"  />	
	<vertex_color index="3" 
				  r="1.0" g="0.0" b="0.0" a="1.0"  />	
</hud>

<hud name="White_Hud" render="TRUE" >
	<position x="-50.0" y="0.0" z="0.8" />
	<size width="100" height="100" />
</hud>


<script name="init_scene" run_mode="INIT" >
	<raw_data><![CDATA[	 
	
	HYP_Object.SetDepthBufferState("White_Hud", 1);
	HYP_Object.SetDepthBufferState("Red_Hud", 1);
	
	HYP_Object.SetPosition("Red_Hud", -30, -20, 0.9);

	]]></raw_data>
</script> 

Bien sur, ceci est aussi valable si les HUDs ont été créés dynamiquement avec LUA.

DOWNLOAD:
- DEMONIAK3D-HUD-Z-ORDER-DEMO.zip

You must be logged in to post a comment.