当前位置: 首页 > news >正文

怎么将自己做的网站放到网上个人网站设计论文题目

怎么将自己做的网站放到网上,个人网站设计论文题目,网站备案查询不到说明啥,宝塔面板安装wordpress目录 1. 数据结构简介#xff1a;数据的集合 1.1 线性数据结构 1.2 非线性数据结构 2. 对数据集合的操作#xff1a; 3. 数据持久化 3.1 数据的序列化存储 3.2 JSON文件硬盘存储 3.2.1 Json文件允许存储的数据类型 3.2.2 Json文件的语法格式 3.2.3 Json文件的读取 3.2.4 …目录 1. 数据结构简介数据的集合 1.1 线性数据结构 1.2 非线性数据结构 2. 对数据集合的操作 3. 数据持久化 3.1 数据的序列化存储 3.2 JSON文件硬盘存储 3.2.1 Json文件允许存储的数据类型 3.2.2 Json文件的语法格式 3.2.3 Json文件的读取 3.2.4 Json文件的反序列化 3.2.5 Json文件的序列化写入 在场景运行过程中会产生大量的数据有些数据在场景切换或者游戏重启时需要一直保持不能被销毁或者初始化因此需要将数据保存在本地或服务器的硬盘中。比如游戏场景中人物获取的财富、背包等数据比如在拆装场景中装配零件的编号、名称、3D模型等信息。 我们在存储数据的过程中需要一定的结构或格式以方便对数据进行遍历和编辑。大部分程序语言定义的数据结构都有具体的类型定义不过这里不展开分析数据结构仅举例在实际项目中对数据进行持久化管理的方法和代码。 1. 数据结构简介数据的集合 数据结构基本分为两大类——线性、非线性数据结构 1.1 线性数据结构 主要有数组一维、多维、线性表顺序表、链表、栈、队列、串、数组、文件。 以线性表为例其逻辑结构是n个数据元素的有限序列所有数据元素曾线性关系有唯一的“第一个”和“最后一个”数据元素并且除“第一个”和“最后一个”数据元素外每个元素有且只有一个前驱元素和一个后继元素。我们常用的List列表就是典型的线性表。 1.2 非线性数据结构 主要有散列表哈希表、树、图。 以哈希表为例其存储数据的基本思想就是以结点的关键字为自变量通过一定的函数关系散列函数计算出对应的函数值以这个值作为该节点存储在散列表中的地址。哈希表使用节点关键字对应存储地址查询效率高并且可以由自己设定的函数关系来指定内存的存放规律。 2. 对数据集合的操作 不管是哪种数据类型对于数据的操作需要基本有编辑增、减、修改、排序、统计、遍历等操作算法比较著名的有冒泡、二分法、希尔、递归等。 落地到unity的实际项目中可以使用不同函数对不同类型的数据操作。比如最常见的列表ListT字典DictionaryT, T常见的操作有读取数据、排序、新增数据、修改数据等可以参考Unity开发之C#基础-列表List_unity list-CSDN博客 描述了对于List列表的常用操作。 3. 数据持久化 以上介绍了数据的几种方式那么如何将这些数据保存下来而不随着场景切换和游戏的重启而消亡。目前常用的数据存储方式有数据序列化存储内存存储、XML文件存储、JSON文件存储、数据库存储等多种形式。以下举例两种轻量化数据持久化方式数据序列化存储、Json文本文件硬盘存储。 3.1 数据的序列化存储 使用System.Serializable属性序列化某个类的实例让它可以被保存并能够在Inspector窗口中可视化和编辑方便配置其属性如图1所示仅为示例实际使用时请用英文字符作为变量名。当数据或数据类型较多时还可以嵌套使用例如编写一个数据管理类来管理所有的数据实例如图2所示。 实现方法 1建立需要被保存的数据类如果此数据项目较多还可以使用CreateAssetMenu属性将这些数据列表放到菜单中以方便反复建立。 例如装配零件的功能包括主轴、副轴、换挡拨叉、活塞曲柄等子装配体以及总体装配等多个装配模块都需要记录零件的信息那么就可以将零件信息作为一个数据类然后建立列表管理零件信息最后将列表建立在菜单中。代码如下 using System;//需要调用 using System.Collections; using System.Collections.Generic; using UnityEngine;[Serializable] //文件序列化 public class PartData {//零件的信息类public int PartNo;public int AsblOrder;public String PartName;public GameObject PartObject; } [CreateAssetMenu(fileName PartData, menuName TangXiaoMo/PartData, order 1)] //将零件列表的创建放到菜单中方便随时创建 public class PartDataConfig : ScriptableObject {//零件的列表记录所有零件的信息public int SceneNo;public ListPartData PartList; } 2建立零件列表ListPartData 保存上面的代码后我们在Assets随意位置都能创建零件的信息列表如图所示 在这个零件列表文件中可以在它的Inspector中配置我们所需要的零件信息。 3数据修改及取用 简单的方法先定义一个公共的PartDataConfig变量以便于在面板中拖入相应的数据文件 public PartDataConfig _config; 数据调用的方法如下新建一个TestItem.cs文档 public class TestItem : MonoBehaviour {public PartDataConfig _config;private PartData _partData;void Start(){for (int i 0; i _config.PartList.Count; i){//查询所有的零件名_partData _config.PartList[i];Debug.Log(_config.PartList[i].PartName);}} } 运行结果 数据修改的方法——对于列表中的数据直接赋值代码举例如下按K键修改主轴的装配顺序 void Update(){//修改数据if (Input.GetKeyDown(KeyCode.K))_config.PartList[0].AsblOrder 10;//将装配顺序修改为10} 3.2 JSON文件硬盘存储 *.json文件是一种轻量级的数据交换格式可以在多种编程语言中解析和使用具有很强的可操作性。 3.2.1 Json文件允许存储的数据类型 数字型short,int,long,float,double 字符串abc、你好、abc 布尔true false 空类型null 数组、列表[1,2,3] 键值对{key1:{id:01}}  3.2.2 Json文件的语法格式 json文件以“键-值”对的形式存储“键”和“值”之间使用冒号分隔 “键-值”对之间使用逗号分隔最后一个“键-值”对后面不能写逗号 大括号{ }用于保存一个数据对象支持大括号{ }嵌套 例如 {PartNo: 0,AsblOrder: 0,PartName: 01_主轴,PartPath: PartPrefabs/01_主轴 } 如果要存储多个数据例如前文中存储的多个零件信息的列表也可以在Json文件中存为数组形式用方括号[ ]包含作为一个“值”如 {partListID: 0,partListName: 主轴零件,PartList: [{PartNo: 0,AsblOrder: 0,PartName: 主轴,PartPath: PartPrefabs/00_主轴},{PartNo: 1,AsblOrder: 1,PartName: 左1轴承,PartPath: PartPrefabs/01_左1轴承}] } 可以将上面的文字写在记事本中后缀名保存为*.json并且需保存为UFT-8格式编码 3.2.3 Json文件的读取 使用File.ReadAllText读取硬盘上的Json文件。将上面保存的Json文件命名为PartDataList.json保存在Assets/StreamingAssets文件夹下读取代码如下 // Json数据的读取void Start(){string str System.IO.File.ReadAllText(Application.streamingAssetsPath /PartDataList.json);Debug.Log(str);} 这里使用数据流函数Application设置硬盘读取路径有以下几种类型的路径windows系统、IOS和安卓系统的文件夹路径各不相同 1. Application.dataPath 存储在Assets文件夹下(相对路径) 2. Application.streamingAssetsPath 存储在Assets/StreamingAssets下(相对路径) 3. Application.persistentDataPath 存储在C盘本地持久化存储路径可读可写 4. Application.temporaryCachePath 存储在C盘临时路径temp 在本例中使用Application.streamingAssetsPath为读取路径因此将PartDataList.json文件存储在Assets/StreamingAssets文件夹下。这时读取的数据没有被序列化因此就是json源文件 3.2.4 Json文件的反序列化 使用JsonUtility解析方法可以将Json文件的数据进行“内存-硬盘”和“硬盘-内存”的序列化和反序列化这样可以将上面读取的混乱的信息存入相应的数据类型中。 例如上面的零件信息Json文件——PartDataList.json如果要将它从硬盘读取到内存需要先建立对应的数据类以便于将数据按类型存储到内存中代码如下 [Serializable] public class PartInfo {//零件信息数据public int PartNo;public int AsblOrder;public string PartName;public string PartPath; }public class PartDataList {//Json数据类public int partListID;public string partListName;public ListPartInfo PartList; } 随后使用JsonUtility.FromJson将读取的字符串数据反序列化并存入相应的数据类型中代码如下 public class TestGetJson : MonoBehaviour {// 从Json文件中获取数据并反序列化void Start(){string str;str System.IO.File.ReadAllText(Application.streamingAssetsPath /PartDataList.json);PartDataList jsonData JsonUtility.FromJsonPartDataList(str);} } 在代码中打断点查看内存数据存储情况从运行结果中可以看到已将相应的int、string和List类型存入相应内存区域中 3.2.5 Json文件的序列化写入 可以使用JsonUtility方法在硬盘上新建一个Json文件并存储上述的零件信息。代码如下 //1. 先定义和序列化需要存储的数据类型 [Serializable] //数据内容必须经过序列化才能使用JsonUtility.ToJson否则不能完全显示 public class TestData {//按照Json中的数据格式定义的数据类public int PartNo; //零件号public int AsblOrder; //装配顺序public string PartName; //零件名称public string PartPath; //零件模型的存放地址 }//2. 定义一个数据类用于存放Json数据 public class TestJsonData {public string name; public ListTestData dataList;public TestData data;} //3. 使用JsonUtility写入Json文件 public class TestWriteJson : MonoBehaviour {void Start(){string str;var testJson new TestJsonData(); //新建一个数据对象testJson.name 主轴零件列表; //并初始化所有变量testJson.data null;testJson.dataList new ListTestData(){new TestData(){PartNo 0,AsblOrder 1,PartName 主轴,PartPath PartPrefabs/00_主轴}};//使用JsonUtility.ToJson序列化以上对象并返回一个字符串str JsonUtility.ToJson(testJson);//文件写入一个新的Json文件-writeToJson.jsonFile.WriteAllText(Application.streamingAssetsPath/writeToJson.json,str);}} 运行结果是在Assets/StreamingAssets文件夹下新建了一个writeToJson.json文件文件内容如下。可以看到虽然在初始化时data变量赋值为null,但在实际运行时还是默认被赋了初值。 {name:主轴零件列表,dataList:[{PartNo:0,AsblOrder:1,PartName:主轴,PartPath:PartPrefabs/00_主轴}],data:{PartNo:0,AsblOrder:0,PartName:,PartPath:},_private:1,_protected:2}
http://www.hkea.cn/news/14466831/

相关文章:

  • 免费个人网站搭建完整网页开发
  • xp 做网站服务器吗wordpress数据库更改账号密码
  • 网站群 主要功能九江茶叶网站建设
  • 福州医保网站调入申报怎么做蝉知 wordpress
  • 关键词查网站网络营销项目策划书
  • 可以做微信公众号封面的网站网站服务器的功能
  • 做网站那些好公司注册资金最低是多少
  • 做网站素材google浏览器下载
  • 奉贤庄行网站建设网站的关键词排名怎么做
  • 蓝色网站素材母版页和窗体做网站例子
  • 常州网络公司中环互联网网站建设深圳动画制作
  • 门网站源码wordpress首页友情链接
  • win7用iis搭建网站网站群建设规范
  • 手机创建网站免费怎样做自己网站
  • 网站突然被降权wordpress评论自定义头像
  • 个人网页设计作品模板简单抑郁症上海优化网站排名
  • 除了阿里巴巴还有什么网站做外贸的南宁网站设计要多少钱
  • 织梦可以做淘宝客网站吗杭州网站建设价格
  • 汕头网站建设方案维护在线设计响应式网站
  • 提升网站权重吗蜜雪冰城网络营销推广方案
  • 论坛网站建设用工具软件seo基本概念
  • 中国建设银行什么是网站用户名企业为什么建立企业网站
  • 青建设厅官方网站海省宁波外贸公司有哪些
  • dj音乐网站建设开发只做网站不做app
  • 建设一个大型网站大概费用怎么利用花生壳做自己的网站
  • 如何购买域名和空间比优化更好的词是
  • 空间租用网站模板建站报告2000字
  • 长沙大型网站建设公司广西新宇建设项目有限公司网站
  • 温室大棚建设 网站及排名转卖学校网站源码php
  • 上海网站建设推荐q479185700顶你大气的公司名字