当前位置: 首页>>代码示例>>C#>>正文


C# SceneNode.GetScale方法代码示例

本文整理汇总了C#中SceneNode.GetScale方法的典型用法代码示例。如果您正苦于以下问题:C# SceneNode.GetScale方法的具体用法?C# SceneNode.GetScale怎么用?C# SceneNode.GetScale使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SceneNode的用法示例。


在下文中一共展示了SceneNode.GetScale方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddRemoveState

        /// <summary>
        /// 将当前结点状态与之同步
        /// operateflag说明
        /// 1增加结点 
        /// 2删除结点
        /// 3更新位置和缩放,旋转
        /// </summary>
        /// <param name="node"></param>
        /// <param name="operateflat"></param>
        public ModelEntryStruct AddRemoveState(SceneNode node, int operateflag)
        {
            if (node == null)
                return null;
            switch (operateflag)
            {
                case 1://增加操作
                    {
                        ModelEntryStruct modelentry = new ModelEntryStruct();

                        Entity en = node.GetAttachedObject(0) as Entity;
                        if (en != null)
                        {
                            //得到模型的相关信息,
                            modelentry.模型名 = en.GetMesh().Name;
                            modelentry.材质 = "";
                            modelentry.实体名 = en.Name;
                            modelentry.缩放比例 = node.GetScale();
                            modelentry.位置 = node.Position;
                            modelentry.旋转角度 = new Vector3();
                            modelEntry.模型链表.Add(modelentry);
                            //modelentry.名称 = MainOgreForm.GetDateName();

                            //更新树节点
                            if (this.AddNode != null)
                                this.AddNode(modelentry);
                            //MainOgreForm.Singleton.AddNodeTree(modelentry);

                            return modelentry;
                        }
                    }
                    break;
                case 2://删除
                    {
                        Entity en = node.GetAttachedObject(0) as Entity;
                        if (en == null)
                            return null;
                        for (int i = 0; i < modelEntry.模型链表.Count; i++)
                        {
                            if (modelEntry.模型链表[i].实体名 == en.Name)
                            {
                                if (this.RemoveNode != null)
                                    this.RemoveNode(modelEntry.模型链表[i]);
                                //MainOgreForm.Singleton.RemoveNodeTree(modelEntry.模型链表[i]);
                                modelEntry.模型链表.RemoveAt(i);
                                break;
                            }
                        }
                    }
                    break;
                default:
                    break;
            }
            return null;
        }
开发者ID:andyhebear,项目名称:esdogre,代码行数:64,代码来源:ModelDataMaintenance.cs

示例2: UpdateModelState

 /// <summary>
 /// 更新模型位置大小,选择状态
 /// </summary>
 /// <param name="node">所需更新的节点</param>
 /// <param name="q">节点饶那个轴旋转旋转,只能更新一个角度的旋转,如“x,y,z”</param>
 /// <param name="angle">旋转的角度</param>
 public void UpdateModelState(SceneNode node, char q, float angle)
 {
     Entity en = node.GetAttachedObject(0) as Entity;
     for (int i = 0; i < modelEntry.模型链表.Count; i++)
     {
         if (modelEntry.模型链表[i].实体名 == en.Name)
         {
             ModelEntryStruct modelentry = modelEntry.模型链表[i];
             modelentry.缩放比例 = node.GetScale();
             modelentry.位置 = node.Position;
             //更新旋转角度
             if (q.Equals('x'))
             {
                 modelentry.旋转角度.x = angle;
             }
             else if (q.Equals('y'))
             {
                 modelentry.旋转角度.y = angle;
             }
             else if (q.Equals('z'))
             {
                 modelentry.旋转角度.z = angle;
             }
             break;
         }
     }
 }
开发者ID:andyhebear,项目名称:esdogre,代码行数:33,代码来源:ModelDataMaintenance.cs


注:本文中的SceneNode.GetScale方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。