; WorldEntityMetadataKey Example ; ------------------------------ Graphics3D 640,480,0,2 SetBuffer BackBuffer() ; A world whose coins carry tags, a score and a colour world=LoadWorldAsync("../../../samples/worlds/help-coins.world") While Not WorldReady(world) If WorldLoadState(world)=WORLD_LOAD_FAILED Then RuntimeError WorldLoadError(world) Cls Text 0,0,"Loading the coins world..." Flip Wend SetWorld world camera=CreateCamera() PositionEntity camera,0,2,-5 coin_number=0 While Not KeyDown(1) ; Tab chooses the next coin, which turns If KeyHit(15) Then coin_number=(coin_number+1) Mod CountTaggedEntities(world,"coin") coin=GetTaggedEntity(world,"coin",coin_number) TurnEntity coin,0,2,0 ; Arrow keys move the camera If KeyDown(200) Then MoveEntity camera,0,0,0.1 If KeyDown(208) Then MoveEntity camera,0,0,-0.1 If KeyDown(203) Then TurnEntity camera,0,1,0 If KeyDown(205) Then TurnEntity camera,0,-1,0 RenderWorld Text 0,0,"Arrow keys: move camera Tab: next coin Esc: exit" ; Every key the coin was given, by its number Text 0,20,EntityName(coin)+" has these keys:" For index=0 To CountWorldEntityMetadata(coin)-1 key$=WorldEntityMetadataKey(coin,index) Text 20,40+index*16,"WorldEntityMetadataKey(coin,"+index+") = "+key Next Flip Wend FreeWorld world End