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

网站推广分销系统购物网站设计图

网站推广分销系统,购物网站设计图,东莞seo排名收费,局网站建设方案word文章目录 前言PlayerPrefs一、基本介绍二、Demo三、优缺点 JsonUtility一、基本使用二、Demo三、优缺点 Mysql#xff08;扩展#xff09;完结 前言 游戏存档不言而喻#xff0c;是游戏设计中的重要元素#xff0c;可以提高游戏的可玩性#xff0c;为玩家提供更多的自由和… 文章目录 前言PlayerPrefs一、基本介绍二、Demo三、优缺点 JsonUtility一、基本使用二、Demo三、优缺点 Mysql扩展完结 前言 游戏存档不言而喻是游戏设计中的重要元素可以提高游戏的可玩性为玩家提供更多的自由和控制权。看完这篇文章就可以构建属于自己的存储系统了。 PlayerPrefs 它是一个仅仅可以存储字符串、浮点数和整数值数据的类 一、基本介绍 保存 PlayerPrefs.SetString(string KeyName, string Value); PlayerPrefs.SetFloat(string KeyName, float Value); PlayerPrefs.SetInt(string KeyName, int Value); # 最后调用Save函数将这些key存入磁盘 PlayerPrefs.Save()查找 # HasKeyl函数中可以通过传入Key得到一个bool的返回值 PlayerPrefs.HasKey(string KeyName);读取 string Value PlayerPrefs.GetString(string KeyName); float Value PlayerPrefs.GetFloat(string KeyName); int Value PlayerPrefs.GetInt(string KeyName);删除 # 删除某个key PlayerPrefs.DeleteKey(KeyName);# 删除全部 PlayerPrefs.DeleteAll();二、Demo 实现按下O键保存玩家的位置数据并通过按下P键加载玩家的位置数据 using UnityEngine; public class PlayerDataManager : MonoBehaviour {public Transform player;private void Update(){if (Input.GetKeyDown(KeyCode.O)) Save();//当按下o键时保存玩家数据if (Input.GetKeyDown(KeyCode.P)) Load();//当按下P键时加载玩家数据}public void Save(){PlayerPrefs.SetFloat(PlayerPositionX, player.position.x);PlayerPrefs.SetFloat(PlayerPositionY, player.position.y);PlayerPrefs.SetFloat(PlayerPositionz, player.position.z);PlayerPrefs.Save();//保存玩家偏好设置Debug.Log(Save ok!);}public void Load(){if (PlayerPrefs.HasKey(PlayerPositionX)PlayerPrefs.HasKey(PlayerPositionY)PlayerPrefs.HasKey(PlayerPositionz)){float x PlayerPrefs.GetFloat(PlayerPositionX);float y PlayerPrefs.GetFloat(PlayerPositionY);float z PlayerPrefs.GetFloat(PlayerPositionz);player.position new Vector3(x,y,z);Debug.Log(Load ok!);}} }效果 三、优缺点 JsonUtility 它是Unty引擎中提供的一个用于序列化和反序列化JSON数据的工具类该类提供了三个方法。 一、基本使用 第一个函数ToJson可以将可序列化的对象转换为JSON字符串 第二个可选参数表示是否花费更多的性能将字符转换为更适合阅读的方式 //通过JS0N表示形式创建对象 string json JsonUtility.ToJson(object obj, bool prettyPrint);第二个函数FromJson可以将字符转换为对象 Playerlnfo是一个泛型参数用于指定要将JSoN字符串转换为的对象类型 //生成对象的公共字段的JS0N表示形式 PlayerInfo playerInfo JsonUtility.FromJsonPlayerInfo(string json);第三个函数则可以传入新的数据覆盖到已有对象中而不是创建新的对象在频繁读取数据时可以节省开销 //通过读取对象的JS0N表示形式覆盖其数据 JsonUtility.FromJsonOverwrite(string json, object objectTooverwrite);二、Demo Application.persistentDataPath是一个持久化的数据路径 在不同的操作系统上unity会为我们分配不同的持久化数据路径 这样可以确保应用程序在不同平台上都能正确保存和访问 using UnityEngine; using System.IO; public class PlayerDataManager : MonoBehaviour {public Transform player;private string savePath;private void Awake(){//获取存档文件路径savePath Path.Combine(Application.persistentDataPath, saveData.json);}private void Update(){if (Input.GetKeyDown(KeyCode.O)) Save();//当按下o键时保存玩家数据if (Input.GetKeyDown(KeyCode.P)) Load();//当按下P键时加载玩家数据}public void Save(){PlayerGameData saveData new PlayerGameData();saveData.playerPosition player.position;string jsonData JsonUtility.ToJson(saveData);File.WriteAllText(savePath, jsonData);Debug.Log(Save ok!);}public void Load(){//首先对路径做一个安全性检查if(File.Exists(savePath)){string jsonData File.ReadAllText(savePath);//将JSON数据反序列化为游戏数据对象PlayerGameData loadedData JsonUtility.FromJsonPlayerGameData(jsonData);player.position loadedData.playerPosition;Debug.Log(Load ok!);}else{Debug.Log(Load ok!);}} }[System.Serializable] public class PlayerGameData {public Vector3 playerPosition;// 可以添加其他的游戏数据字段 }效果 不同平台存储的路径不一样我们可以打印savePath查看自己的存储路径 比如我的就是 三、优缺点 Mysql扩展 首先您需要从官方MySQL网站下载MySQL Connector/NET。下载并安装后您可以在Unity项目中添加对MySQL.Data.dll的引用。 如果您需要在整个应用程序中共享数据库连接那么使用单例模式可能是一个好主意。这将确保只有一个MySQLConnector实例存在并且可以在应用程序的任何部分使用它。 要实现这一点您可以将MySQLConnector类的构造函数设置为私有并添加一个静态GetInstance方法该方法返回MySQLConnector类的单例实例。在GetInstance方法中您可以检查是否已经创建了一个MySQLConnector实例如果没有则创建一个新实例并返回它。否则返回现有实例。 using System.Data; using MySql.Data.MySqlClient;public class MySQLConnector {private static MySQLConnector instance;private MySqlConnection connection;private string server;private string database;private string uid;private string password;private MySQLConnector(string server, string database, string uid, string password){this.server server;this.database database;this.uid uid;this.password password;string connectionString SERVER server ; DATABASE database ; UID uid ; PASSWORD password ;;connection new MySqlConnection(connectionString);}public static MySQLConnector GetInstance(string server, string database, string uid, string password){if (instance null){instance new MySQLConnector(server, database, uid, password);}return instance;}public void OpenConnection(){connection.Open();}public void CloseConnection(){connection.Close();}public DataTable ExecuteQuery(string query){MySqlCommand cmd new MySqlCommand(query, connection);MySqlDataAdapter adapter new MySqlDataAdapter(cmd);DataTable dataTable new DataTable();adapter.Fill(dataTable);return dataTable;} } 现在您可以在应用程序的任何部分使用MySQLConnector.GetInstance方法来获取MySQLConnector类的单例实例并调用其方法来执行查询。例如 MySQLConnector connector MySQLConnector.GetInstance(localhost, mydatabase, username, password); connector.OpenConnection(); string query SELECT * FROM mytable; DataTable dataTable connector.ExecuteQuery(query);foreach (DataRow row in dataTable.Rows) {Debug.Log(row[column1] row[column2]); }connector.CloseConnection();这段代码获取MySQLConnector类的单例实例并使用适当的服务器、数据库、uid和密码值打开了数据库连接在名为“mytable”的表上执行了一个SELECT查询并为查询返回的每一行的“column1”和“column2”值打印到控制台。最后它关闭了数据库连接。 完结 赠人玫瑰手有余香如果文章内容对你有所帮助请不要吝啬你的点赞评论和关注以便我第一时间收到反馈你的每一次支持都是我不断创作的最大动力。点赞越多更新越快哦当然如果你发现了文章中存在错误或者有更好的解决方法也欢迎评论私信告诉我哦 好了我是向宇https://xiangyu.blog.csdn.net 一位在小公司默默奋斗的开发者出于兴趣爱好于是最近才开始自习unity。如果你遇到任何问题也欢迎你评论私信找我 虽然有些问题我可能也不一定会但是我会查阅各方资料争取给出最好的建议希望可以帮助更多想学编程的人共勉~
http://wiki.neutronadmin.com/news/102201/

相关文章:

  • 个人网站免费建站北京著名网站设计公司
  • 网站卡密代理怎么做wordpress增加浏览量
  • 平面排版网站飞飞cms悠悠电影网站
  • 扬之云公司网站建设简述制作网站的主要流程
  • 网站标题tdk北京王府井
  • 旅游网站怎么建设正规的男科医院排名
  • 网站策划师招聘深圳市腾讯天游科技有限公司
  • 欧米伽官方网站手表价格太原做网站费用
  • 莆田市秀屿区建设局网站网站开发要先买服务器吗
  • 网站建设打广告报名小程序怎么制作
  • 怀来县网站建设网站空间怎么选
  • 0791网站建设网站内容及实现方式
  • 手机网站做指向tiktok无货源跨境电商怎么做
  • 网站建设新的技术方案网站建设联雅
  • 网站没有百度权重宝安中心医院怎么样
  • 南京网站推广营销公司哪家好wordpress文章不显示
  • 怎样做网站步骤wordpress音乐播放主题
  • 用ps做的网站样图怎么切免费教育网站大全 建站
  • 手机网站自适应网站建设 全包 制作
  • 学网站开发的培训学校桂林市区地图
  • 广告网站留电话不用验证码wordpress改网页电话
  • 兰州网站设计教程深圳宝安网站建设500元起价
  • 深圳网站设计价格表长尾词在线挖掘
  • 北京网站seo外包公司想做个自己的网站怎么做
  • 好品质自适应网站建设电子兼职网站建设
  • 做网站实时数据用接口国外访问国内网站慢
  • 下载模板后怎么建设网站关键词数据分析
  • 找人做ps的网站东莞做网站一年费用
  • 可信网站认证必须做吗crm管理系统都有哪些
  • 网站要实名认证吗优秀网站建设网页