zoukankan      html  css  js  c++  java
  • (转)LuaPlus子表遍历

    简单的配置,先将就用吧,luaplus那由于别人的教材在表循环那里没写清楚,导致浪费了很多时间,最后还是看src才知道。

    ------------------------------------------------------------------------------------------------------

    tabObjectData = {
    [0x00001000] = {
       MeshName = "00040_lian.mesh",
       MeshDIR = "/models/Player/female/",
       ShowName = "女主角1",
       Scale = 0.01,
       Image = "ptgw.tga",
       ImageIndex = 0,
       EffectList = {
        [0x00000001] = {
         BindBone = "",
         OffestPos = { x = 0.0, y = 0.0, z= 0.0 },
         Direction = { x = 0.0, y = 0.0, z= 0.0 }
        }
       }
    },
    [0x00002000] = {
       MeshName = "男衣服30.mesh",
       MeshDIR = "/models/Player/male/",
       ShowName = "女主角1",
       Scale = 0.01,
       Image = "ptgw.tga",
       ImageIndex = 0,
       EffectList = {
        [0x00000001] = {
         BindBone = "",
         OffestPos = { x = 0.0, y = 0.0, z= 0.0 },
         Direction = { x = 0.0, y = 0.0, z= 0.0 }
        }
       }
    },
    [0x00000007] = {
       MeshName = "ninja.mesh",
       MeshDIR = "/models/Player/ninja/s",
       ShowName = "女主角1",
       Scale = 0.01,
       Image = "ptgw.tga",
       ImageIndex = 0,
       EffectList = {
        [0x00000001] = {
         BindBone = "",
         OffestPos = { x = 0.0, y = 0.0, z= 0.0 },
         Direction = { x = 0.0, y = 0.0, z= 0.0 }
        }
       }
    }
    }

    --------------------------------------------------------------------------------------

    LuaPlus::LuaObject ObjectData = GameGlobalManager::GetSingletonPtr()->getLuaState().Get()->GetGlobal( "tabObjectData" );
    for ( LuaTableIterator it( ObjectData ); it; it++ )
    {
       LuaPlus::LuaObject gameObj = it.GetValue();
       if ( gameObj.IsTable() )
       {
        //每个对象的表了
        printf( "对象:%08x\n", it.GetKey().ToInteger() );
       
        LuaPlus::LuaObject EffectObj = gameObj.GetByName( "EffectList" );
        if ( EffectObj.IsTable() )
        {
         for ( LuaTableIterator itr( EffectObj ); itr; itr++ )
         {
          if ( itr.GetValue().IsTable() )
          {
           printf( "对象:%08x的特效:%08x\n", it.GetKey().ToInteger(), itr.GetKey().ToInteger() );
          }
         }
        }    
       }   
    }


  • 相关阅读:
    XmlDocument和XDocument转String
    C# 6.0 (C# vNext) 新功能之:Null-Conditional Operator(转)
    <%%>与<scriptrunat=server>,<%=%>与<%#%>的区别(转)
    WINDOWS的用户和用户组说明
    C#获取网页内容的三种方式(转)
    C#操作XML方法:新增、修改和删除节点与属性
    linq to xml操作XML(转)
    C#使用tesseract3.02识别验证码模拟登录(转)
    C#修饰符
    SQL语句备份和还原数据库(转)
  • 原文地址:https://www.cnblogs.com/lancidie/p/1903562.html
Copyright © 2011-2022 走看看