Unity 配置文件,存储游戏数据的方法

一。Unity中的ScriptableObject

        ScriptableObject是Unity中一个用于存储数据的类,它允许开发者创建可以在编辑模式下持久化的数据资源文件,实现数据的复用和配置管理。这个功能特别适合用于那些在游戏运行时不会改变的数据,比如配置文件,它可以避免内存浪费,但在游戏发布后不支持数据持久化。

(1) 创建ScriptableObject

        要使用ScriptableObject,首先需要创建一个继承自ScriptableObject的脚本类,并在其中声明需要存储的数据类型。例如,可以创建一个用于存储子弹数据的ScriptableObject类,其中包含子弹的速度和伤害属性。然后,可以使用CreateAssetMenu属性来在Unity编辑器的菜单中添加创建ScriptableObject实例的选项。
using UnityEngine;

[CreateAssetMenu(fileName = "BulletData", menuName = "ScriptableObject/BulletData", order = 1)]
public class BulletData : ScriptableObject {
public float speed;
public float damage;
}
        通过上述代码,可以在Unity编辑器的"Assets/Create"菜单下找到"ScriptableObject/BulletData"选项,从而创建BulletData的实例。

(2) 使用ScriptableObject

        创建了ScriptableObject实例后,可以通过两种方式在游戏中使用它:
  1. 通过Inspector面板关联:在继承自MonoBehaviour的脚本中声明一个ScriptableObject类型的公共变量,然后在Inspector面板中将ScriptableObject实例拖拽到该变量上。
  2. 通过代码加载:使用如Resources.LoadAssetDatabase.LoadAssetAtPath等方法直接加载ScriptableObject实例。
例如,可以创建一个用于生成子弹的脚本,并在其中引用BulletData实例来获取子弹的属性值。
using UnityEngine;

public class BulletSpawner : MonoBehaviour {
public BulletData bulletData;

void Start() {
// 使用bulletData中的数据生成子弹
}
}

(3) ScriptableObject的优势和局限

        ScriptableObject的优势在于它可以在Unity编辑器中直观地配置和管理数据,同时避免了在游戏对象实例化时数据的重复拷贝,从而减少内存消耗。然而,ScriptableObject在游戏发布后不支持数据持久化,这意味着在游戏运行时对数据的任何修改都不会保存到磁盘中,而是在下次运行时重置为初始配置的数据。
        因此,开发者需要根据实际需求选择是否使用ScriptableObject。对于那些在游戏运行时不会改变的数据,ScriptableObject是一个非常合适的选择。对于需要在游戏运行时持久化的数据,则可能需要考虑其他数据存储解决方案,如JSON、XML或PlayerPrefs等。

二。Unity中的PlayerPrefs

        在 Unity 中,PlayerPrefs 是Unity内置的一种简单的键值存储方案,用于存储少量的游戏数据。它基于本地注册表来存储数据,数据以键值对的形式保存在注册表上用于在本地设备上存储和读取简单的数据,比如游戏的设置(音量、难度等级)、玩家的进度等。它支持存储整数(int)、浮点数(float)和字符串(string)类型的数据。

(1) 存储数据的基本用法如下:

// 存储整数
PlayerPrefs.SetInt("Score", 100);
// 存储浮点数
PlayerPrefs.SetFloat("Volume", 0.5f);
// 存储字符串
PlayerPrefs.SetString("PlayerName", "John");

(2) 读取数据的代码示例:

// 读取整数,如果不存在则返回默认值 -1
int score = PlayerPrefs.GetInt("Score", -1);
// 读取浮点数,如果不存在则返回默认值 0.0f
float volume = PlayerPrefs.GetFloat("Volume", 0.0f);
// 读取字符串,如果不存在则返回默认值 ""
string playerName = PlayerPrefs.GetString("PlayerName", "");

(3) 优势与局限性

        PlayerPrefs 的优点:首先,使用极其简单,几行代码就能实现数据的存储与读取,对开发者技术门槛要求低,适用于简单数据且单个数据量小的存档,读取速度较快。
        其局限性在于:一方面,仅支持整数、浮点数和字符串这几种基本数据类型,无法直接存储复杂对象,如自定义类、结构体等,若要存储复杂数据需自行转换。另一方面,存储容量有限,不适用于存储大量数据,若存储过多数据可能导致性能问题。此外,它是基于本地存储,不同平台间的数据不共享,如在安卓设备上存储的数据,在 iOS 设备上无法直接读取。

三。XML

        XML,即可扩展标记语言(eXtensible Markup Language),它是一种用于标记电子文件使其具有结构性的标记语言。XML 被设计用来传输和存储数据,其焦点是数据的内容。与HTML不同,HTML主要用于显示数据,而XML没有预定义的标签,开发者可以根据需求自定义标签来描述数据,具有高度的灵活性和可扩展性。例如,在描述书籍信息时,可以自定义``标签,内部再包含``、`<Author>`等标签。XML广泛应用于数据交换,比如</span><span style="color:#ed7976">不同系统之间的数据传输</span><span style="color:#0d0016">;配置文件,像</span><span style="color:#ed7976">游戏中的一些配置信息</span><span style="color:#0d0016">可通过XML文件存储;文档存储等场景。</span></h4> <h4><span style="color:#0d0016">        在 Unity 中使用 XML,首先需要引入</span><span style="color:#ed7976"><code>System.Xml</code>命名空间</span><span style="color:#0d0016">。假设我们要创建一个简单的 XML 文件来存储游戏角色信息。</span></h4> <h4><span style="color:#ff9900">(1) 创建 XML 文件的代码示例如下:</span></h4> <pre><code class="language-cs">using System.Xml; using UnityEngine; public class CreateXMLExample : MonoBehaviour { void Start() { XmlDocument xmlDoc = new XmlDocument(); // 创建根节点 XmlElement root = xmlDoc.CreateElement("Characters"); xmlDoc.AppendChild(root); // 创建角色节点 XmlElement character = xmlDoc.CreateElement("Character"); root.AppendChild(character); // 创建角色属性节点 XmlElement name = xmlDoc.CreateElement("Name"); name.InnerText = "Warrior"; character.AppendChild(name); XmlElement health = xmlDoc.CreateElement("Health"); health.InnerText = "100"; character.AppendChild(health); // 保存XML文件 xmlDoc.Save(Application.dataPath + "/Characters.xml"); } }</code></pre> <h4><span style="color:#ff9900">(2) 读取 XML 文件的代码示例如下:</span></h4> <pre><code class="language-cs">using System.Xml; using UnityEngine; public class ReadXMLExample : MonoBehaviour { void Start() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(Application.dataPath + "/Characters.xml"); XmlNodeList characterNodes = xmlDoc.SelectNodes("/Characters/Character"); foreach (XmlNode characterNode in characterNodes) { XmlNode nameNode = characterNode.SelectSingleNode("Name"); XmlNode healthNode = characterNode.SelectSingleNode("Health"); if (nameNode != null && healthNode != null) { Debug.Log("Name: " + nameNode.InnerText + ", Health: " + healthNode.InnerText); } } } }</code></pre> <h5><span style="color:#0d0016"><strong>        通过上述代码,你可以看到如何在 Unity 中创建和读取 XML 文件,来存储和获取游戏相关的数据。在实际应用中,你可以根据具体需求调整 XML 的结构和内容。</strong></span></h5> <h4><span style="color:#ff9900">(3) 优势与局限性</span></h4> <h5><span style="color:#0d0016">        在Unity中使用XML有诸多优点。首先,它具有</span><span style="color:#ed7976">良好的可读性与可维护性</span><span style="color:#0d0016">,XML采用标签形式组织数据,结构清晰,便于开发者理解和修改数据内容,例如在配置游戏关卡信息时,通过标签能直观看到每个关卡的属性。其次,XML具备</span><span style="color:#ed7976">高度的灵活性与可扩展性</span><span style="color:#0d0016">,开发者可自定义标签结构,能轻松适应各种复杂多变的数据需求,像存储不同类型游戏角色的复杂属性。再者,XML是一种通用标准,在</span><span style="color:#ed7976">不同平台和编程语言间兼容性强</span><span style="color:#0d0016">,方便Unity与其他外部系统进行数据交互。然而,XML也存在一些局限性。一方面,</span><span style="color:#ed7976">XML文件相对冗长,数据量较大时,文件体积会显著增加</span><span style="color:#0d0016">,导致加载和解析速度变慢,影响游戏性能,比如大量游戏资源信息用XML存储时加载耗时会变长。另一方面,</span><span style="color:#ed7976">解析XML文件相对复杂</span><span style="color:#0d0016">,需要使用特定的API和技术,增加了开发成本和难度,尤其对于新手开发者不太友好。</span></h5> <hr> <h3><span style="color:#511b78"><strong>四。Json</strong></span></h3> <h4><span style="color:#0d0016">        JSON,即JavaScript 对象表示法(JavaScript Object Notation),是</span><span style="color:#ed7976">一种轻量级的数据交换格式</span><span style="color:#0d0016">。它以易于人阅读和编写,同时也易于机器解析和生成的方式来表示数据。JSON 基于JavaScript的一个子集,但如今已被多种编程语言广泛支持。它的数据</span><span style="color:#ed7976">结构主要有两种</span><span style="color:#0d0016">:</span><span style="color:#ed7976">键值对的集合</span><span style="color:#0d0016">(在JavaScript中是对象,在其他语言中有不同实现,如Python中的字典)和</span><span style="color:#ed7976">有序值列表</span><span style="color:#0d0016">(在JavaScript中是数组,在其他语言中类似列表等结构)。例如,描述一个人的信息可以写成 `{"name":"张三","age":20,"hobbies":["reading","swimming"]}` 。</span><span style="color:#ed7976">JSON 因其简洁性和通用性</span><span style="color:#0d0016">,常用于前后端数据交互、</span><span style="color:#ed7976">配置文件、数据存储</span><span style="color:#0d0016">等场景,在现代软件开发中扮演着重要角色。</span></h4> <h4><span style="color:#ff9900">(1) 某游戏的存档系统示例:</span></h4> <pre><code class="language-cs">using System.Collections; using UnityEngine; using System.IO; public static class SaveSystem//存档系统; { #region 存档 //存储一个单独的类; public static void MySaveByJson(string saveFileName, object data) { string JsonStr = JsonUtility.ToJson(data); string path = Path.Combine(Application.persistentDataPath, saveFileName); try { File.WriteAllText(path, JsonStr); Debug.Log($"成功将数据保存到:{path} !"); } catch (System.Exception one) { Debug.LogError($"在{path}保存数据失败!\nbecause of{one}"); } } //存档,用于存储 结构体/类 数组 public static void MySaveByJsonMany(string saveFileName, object[] data) { string[] JsonStr = new string[data.Length]; for (int i = 0; i < data.Length; i++) { JsonStr[i] = JsonUtility.ToJson(data[i]); } string path = Path.Combine(Application.persistentDataPath, saveFileName); try { File.WriteAllLines(path, JsonStr); Debug.Log($"成功将数据保存到:{path} !"); } catch (System.Exception one) { Debug.LogError($"在{path}保存数据失败!\nbecause of{one}"); } } #endregion #region 读档 public static T MyReadFromJson<T>(string saveFileName) { string path = Path.Combine(Application.persistentDataPath, saveFileName); try { string JsonStr = File.ReadAllText(path); T data = JsonUtility.FromJson<T>(JsonStr); Debug.Log($"成功从{path}读取到数据 !"); return data; } catch (System.Exception one) { Debug.LogError($"从{path}加载数据失败!,\nbecause of{one}"); return default; } } public static T[] MyReadFromJsonMany<T>(string saveFileName) { string path = Path.Combine(Application.persistentDataPath, saveFileName); try { string[] JsonStr = File.ReadAllLines(path); T[] data = new T[JsonStr.Length]; for (int i = 0; i < JsonStr.Length; i++) { data[i] = JsonUtility.FromJson<T>(JsonStr[i]); } Debug.Log($"成功从{path}读取到数据 !"); return data; } catch (System.Exception one) { Debug.LogError($"从{path}加载数据失败!,\nbecause of{one}"); return default; } } #endregion #region 删档 public static void DeleteSaveData(string saveFileName) { string path = Path.Combine(Application.persistentDataPath, saveFileName); try { File.Delete(path); } catch (System.Exception one) { Debug.LogError($"{path}路径的存档删除失败!\nbecause of:{one}"); } } #endregion } </code></pre> <h4><span style="color:#ff9900">(2)  优势与局限性</span></h4> <h5><span style="color:#0d0016">        在Unity中使用JSON有不少优点。其一,JSON</span><span style="color:#ed7976">具有简洁性,</span><span style="color:#0d0016">相比XML,JSON的语法更简洁,数据格式紧凑,使</span><span style="color:#ed7976">得文件体积更小,在网络传输或存储时,能有效减少带宽占用和存储空间,提升加载速度</span><span style="color:#0d0016">,比如在网络对战游戏中传输玩家信息。其二,</span><span style="color:#ed7976">易于解析与生成</span><span style="color:#0d0016">,JSON在</span><span style="color:#ed7976">各种编程语言中都有广泛支持</span><span style="color:#0d0016">,Unity使用JSON解析和生成数据相对容易,降低开发难度,新手开发者也能较快上手。其三,与JavaScript兼容性好,由于Unity支持WebGL平台开发,JSON与JavaScript天然契合,方便进行Web端游戏开发的数据交互。不过,JSON也存在局限性。一方面,它的</span><span style="color:#ed7976">可读性相对较差</span><span style="color:#0d0016">,虽然简洁,但对于复杂数据结构,</span><span style="color:#ed7976">不像XML那样有清晰的标签层次结构便于理解</span><span style="color:#0d0016">,例如复杂嵌套的游戏配置数据。另一方面,JSON缺乏严格的模式定义,虽然使用灵活,但</span><span style="color:#ed7976">数据验证较困难</span><span style="color:#0d0016">,可能导致数据格式不规范问题,在</span><span style="color:#ed7976">大规模数据管理时可能出现隐患</span><span style="color:#0d0016">。</span></h5> <hr> <h3><span style="color:#511b78">五。使用MySql存储数据</span></h3> <h4><span style="color:#0d0016">        MySQL是一个</span><span style="color:#ed7976">开源的关系型数据库管理系统</span><span style="color:#0d0016">。它由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。</span><span style="color:#ed7976">MySQL以其高性能、可靠性和易用性而闻名</span><span style="color:#0d0016">。它使用SQL(结构化查询语言)来访问和管理数据库中的数据。关系型数据库将数据组织成一个或多个表格,表格中的行代表记录,列代表字段。例如,在一个学生信息管理系统中,可创建“学生”</span><span style="color:#ed7976">表</span><span style="color:#0d0016">,每行记录一个学生的信息,列则包含学号、姓名、年龄等</span><span style="color:#ed7976">字段</span><span style="color:#0d0016">。MySQL支持多种操作系统,如Linux、Windows等,并且广泛应用于Web应用开发,许多大型网站如Facebook、Twitter等都在后端使用MySQL存储和管理数据。同时,它有丰富的存储引擎,如InnoDB、MyISAM等,各有特点,能满足不同应用场景需求。</span></h4> <h4><span style="color:#fe2c24">        在 Unity 中使用 MySQL,通常需要借助 MySQL Connector/NET 等库来实现数据库连接与操作。</span></h4> <p><span style="color:#fe2c24">1.环境配置教程:参考链接</span>C#调用MySQL数据库(使用MySql.Data.dll连接)-CSDN博客</p> <p><span style="color:#fe2c24">2.常见错误以及解决方法:参考链接</span>:unity 与数据库mysql连接的注意事项-CSDN博客</p> <p><span style="color:#fe2c24">3.mysql在unity中的使用方法:参考链接:</span>C# 的 MySql.Data.MySqlClient 库介绍:在 .NET 应用程序中与 MySQL 数据库进行交互-CSDN博客</p> <h4></h4> <h4><span style="color:#ff9900">(1) 以下是一个简单示例:</span><span style="color:#0d0016">(首先确保已安装 MySQL Connector/NET 库,可在官方网站下载并导入到 Unity 项目中)</span></h4> <pre><code class="language-cs">using UnityEngine; using MySql.Data.MySqlClient; public class MySQLExample : MonoBehaviour { void Start() { // 数据库连接字符串,需根据实际情况修改 string connectionString = "server=localhost;user id=root;password=123456;database=test"; using (MySqlConnection connection = new MySqlConnection(connectionString)) { try { connection.Open(); Debug.Log("数据库连接成功"); string query = "SELECT * FROM your_table"; using (MySqlCommand command = new MySqlCommand(query, connection)) { using (MySqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { // 读取数据,这里假设表中有name和age字段 string name = reader.GetString("name"); int age = reader.GetInt32("age"); Debug.Log("Name: " + name + ", Age: " + age); } } } } catch (MySqlException ex) { Debug.LogError("数据库操作错误: " + ex.Message); } } } }</code></pre> <h4><span style="color:#ff9900">(2) 优势与局限性</span></h4> <h5><span style="color:#0d0016">        在Unity中使用MySQL有诸多优点。其一,</span><span style="color:#ed7976">数据持久化能力强</span><span style="color:#0d0016">,MySQL作为成熟的</span><span style="color:#ed7976">关系型数据库</span><span style="color:#0d0016">,能够</span><span style="color:#ed7976">可靠地存储大量数据</span><span style="color:#0d0016">,如游戏中的玩家账号信息、游戏进度等,保证数据在游戏关闭或重启后不丢失。其二,</span><span style="color:#ed7976">多用户与并发支持好</span><span style="color:#0d0016">,适合多人在线游戏场景,允许多个玩家同时对数据库进行读写操作,MySQL具备良好的并发控制机制,能有效处理并发事务,确保数据的一致性和完整性。其三,</span><span style="color:#ed7976">数据管理与查询功能强大</span><span style="color:#0d0016">,通过SQL语言可以方便地对数据进行复杂的查询、排序、分组等操作,便于实现游戏中的排行榜、数据分析等功能。 然而,Unity中使用MySQL也存在局限性。一方面,</span><span style="color:#ed7976">部署与维护成本较高</span><span style="color:#0d0016">,需要专业的数据库管理员来管理MySQL服务器,涉及服务器的安装、配置、备份、优化等工作,增加了开发团队的技术门槛和运维成本。另一方面</span><span style="color:#ed7976">,性能开销较大,尤其是在移动设备上,与本地存储方式相比,通过网络连接MySQL数据库进行数据读写,会增加网络延迟和能耗,可能影响游戏的流畅度和响应速度</span><span style="color:#0d0016">。此外,安全性方面需要额外关注,</span><span style="color:#ed7976">网络</span><span style="color:#0d0016">暴露的MySQL数据库面临诸如SQL注入等</span><span style="color:#ed7976">安全风险</span><span style="color:#0d0016">,需要开发者采取严格的安全措施来保护数据库。</span></h5> <hr> <h3><span style="color:#511b78">六。使用C#中 IO库 将游戏玩家数据,写入到txt文件中</span></h3> <h4><span style="color:#ff9900">(1) 写入文件</span></h4> <ol> <li><span style="color:#0d0016"><strong>1.使用 StreamWriter 类</strong>:</span></li> </ol> <pre><code class="language-cs">using System; using System.IO; class Program { static void Main() { string filePath = "test.txt"; using (StreamWriter writer = new StreamWriter(filePath)) { writer.WriteLine("这是第一行内容"); writer.WriteLine("这是第二行内容"); } Console.WriteLine("写入成功"); } }</code></pre> <h4></h4> <ol> <li><span style="color:#0d0016"><strong>2.</strong></span><strong>使用 File.WriteAllText 方法</strong>:</li> </ol> <pre><code class="language-cs">using System; using System.IO; class Program { static void Main() { string filePath = "test.txt"; string content = "这是要写入的内容"; File.WriteAllText(filePath, content); Console.WriteLine("写入成功"); } }</code></pre> <h4><span style="color:#ff9900">(2) 读取文件</span></h4> <ol> <li><strong>1.使用 StreamReader 类</strong>:</li> </ol> <pre><code class="language-cs">using System; using System.IO; class Program { static void Main() { string filePath = "test.txt"; using (StreamReader reader = new StreamReader(filePath)) { string line; while ((line = reader.ReadLine()) != null) { Console.WriteLine(line); } } } }</code></pre> <ol> <li><strong>2.使用 File.ReadAllText 方法</strong>:</li> </ol> <pre><code class="language-cs">using System; using System.IO; class Program { static void Main() { string filePath = "test.txt"; try { string content = File.ReadAllText(filePath); Console.WriteLine(content); } catch (FileNotFoundException) { Console.WriteLine("文件未找到"); } } }</code></pre> <h5>    <span style="color:#0d0016">   <strong> 上述代码中,</strong></span><span style="color:#be191c"><strong><code>StreamWriter</code>和<code>StreamReader</code>类</strong></span><span style="color:#0d0016"><strong>用于</strong></span><span style="color:#be191c"><strong>逐行写入和读取文件内容</strong></span><span style="color:#0d0016"><strong>;</strong></span><span style="color:#be191c"><strong><code>File.WriteAllText</code>和<code>File.ReadAllText</code>方法</strong></span><span style="color:#0d0016"><strong>则是</strong></span><span style="color:#be191c"><strong>一次性写入和读取整个文件内容</strong></span><span style="color:#0d0016"><strong>。请根据实际需求选择合适的方式,同时注意处理可能出现的文件不存在等异常情况。</strong></span></h5> <h4><span style="color:#ff9900">(3) 优点与局限性</span></h4> <h5>        <span style="color:#0d0016">在Unity中使用txt存储数据,优点较为明显。其一,</span><span style="color:#ed7976">简单方便</span><span style="color:#0d0016">,txt文件格式通用,创建和读写操作相对容易,无需复杂的数据库配置知识,</span><span style="color:#ed7976">即使是初学者也能快速上手实现数据存储功能</span><span style="color:#0d0016">,比如记录游戏简单的设置参数。其二,</span><span style="color:#ed7976">跨平台性好,几乎所有操作系统都支持txt文件的读写</span><span style="color:#0d0016">,这使得游戏在不同平台(如Windows、iOS、Android等)上都能方便地使用txt进行数据存储,保证了数据存储方式的一致性。其三,</span><span style="color:#ed7976"><strong>易于查看和修改,</strong></span><span style="color:#0d0016">用普通文本编辑器即可打开txt文件查看其中的数据,开发过程中方便调试和临时修改数据,无需额外的数据库管理工具。 然而,它也存在一些局限性。一方面,数据结构表达能力有限,</span><span style="color:#ed7976">txt本质上是纯文本格式,难以直接存储复杂的数据结构,比如多维数组、嵌套对象等</span><span style="color:#0d0016">,如果要存储复杂数据需自行设计复杂的文本格式来模拟,增加开发难度。另一方面</span><span style="color:#ed7976">,数据管理功能弱</span><span style="color:#0d0016">,不像数据库有成熟的查询、排序、索引等功能,对txt文件中的数据进行复杂操作时,</span><span style="color:#ed7976">需要开发者自己编写大量代码实现,效率较低。</span><span style="color:#0d0016">此外,</span><span style="color:#ed7976">安全性较差</span><span style="color:#0d0016">,txt文件以明文形式存储数据,</span><span style="color:#ed7976">容易被用户直接打开查看和修改,不利于保护敏感数据</span><span style="color:#0d0016">,如游戏内的付费信息等。</span></h5> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1917387310312255488"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(游戏,unity)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1938798599584411648.htm" title="【策划所需编程知识】" target="_blank">【策划所需编程知识】</a> <span class="text-muted">叫我六胖子</span> <a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a> <div>1、TCP与UDP名称TCPUDP方式先奏后斩先斩后奏优点防外挂,慢但不出错用户体验好常用游戏MMORPGFPS、MOBA、IO类2、弱联网与实时联网名称弱联网实时联网方式只在必要时链接频率很高特点频率低频率高特点对宽带要求不高对宽带要求高常用游戏卡牌、放置挂机、轻度休闲、SLGFPS、MOBA、IO类</div> </li> <li><a href="/article/1938726370033070080.htm" title="《多设备协同训练:HarmonyOS联邦学习驱动Unity游戏AI进化》" target="_blank">《多设备协同训练:HarmonyOS联邦学习驱动Unity游戏AI进化》</a> <span class="text-muted">爱学习的小齐哥哥</span> <a class="tag" taget="_blank" href="/search/HarmonyOS/1.htm">HarmonyOS</a><a class="tag" taget="_blank" href="/search/5/1.htm">5</a><a class="tag" taget="_blank" href="/search/Unity/1.htm">Unity</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/HarmonyOS5/1.htm">HarmonyOS5</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a><a class="tag" taget="_blank" href="/search/Unity/1.htm">Unity</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a> <div>随着游戏产业的智能化升级,游戏AI正从传统的规则驱动向数据驱动的“自进化”模式转型。然而,传统游戏AI训练面临数据孤岛、计算资源受限、隐私安全风险三大核心挑战:单设备训练难以处理复杂场景的海量数据,集中式训练需上传用户行为数据(侵犯隐私),且高性能计算依赖云端或专用硬件(成本高、延迟大)。在此背景下,HarmonyOS联邦学习与多设备协同训练的融合,为Unity游戏AI的智能化进化提供了突破性解决</div> </li> <li><a href="/article/1938716787549990912.htm" title="uni-app的UTS插件开发,调用鸿蒙原生API" target="_blank">uni-app的UTS插件开发,调用鸿蒙原生API</a> <span class="text-muted"></span> <div>随着uni-app对鸿蒙系统的支持不断增强,开发者可以通过UTS(UniTypedScript)插件实现鸿蒙原生组件的嵌入与交互。从HBuilderX4.62版本开始,uni-app提供了对鸿蒙原生组件的同层渲染支持,开发者可以直接在.ets文件中定义原生组件,并通过UTS插件将其集成到uni-app项目中。本文将以「自定义按钮组件」为例,详细讲解如何在鸿蒙系统中注册原生组件,并在uni-app中</div> </li> <li><a href="/article/1938716030180323328.htm" title="基于SpringBoot实现MQTT消息收发" target="_blank">基于SpringBoot实现MQTT消息收发</a> <span class="text-muted">萧雲漢</span> <a class="tag" taget="_blank" href="/search/SpringBoot/1.htm">SpringBoot</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a><a class="tag" taget="_blank" href="/search/iot/1.htm">iot</a> <div>基于SpringBoot实现MQTT消息收发实验环境SpringBoot2.2.2.RELEASE:项目框架EMQXcommunitylatest:MQTT服务端Docker18.0.~:部署容器POM引入依赖包#pom.xmlorg.springframework.bootspring-boot-starter-integration2.2.2.RELEASEorg.springframewor</div> </li> <li><a href="/article/1938689317778026496.htm" title="Python视觉实战项目31讲源码地址" target="_blank">Python视觉实战项目31讲源码地址</a> <span class="text-muted">机械小蛟龙</span> <a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a> <div>Python视觉实战项目31讲源码地址来源:公众号小白学视觉2月1日使用OpenCV实现猜词游戏https://github.com/spmallick/learnopencv/tree/master/Hangman使用OpenCV实现图像修复https://github.com/spmallick/learnopencv/tree/master/Image-Inpainting自适应显着性的图像</div> </li> <li><a href="/article/1938673567604469760.htm" title="fps游戏中网络同步优化方案" target="_blank">fps游戏中网络同步优化方案</a> <span class="text-muted">你一身傲骨怎能输</span> <a class="tag" taget="_blank" href="/search/Unity%E6%B8%B8%E6%88%8F%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">Unity游戏性能优化</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>在FPS(第一人称射击)游戏中,网络同步是确保所有玩家在游戏世界中看到一致状态的关键技术。网络延迟和丢包等问题可能导致玩家之间的游戏体验不一致,影响游戏的公平性和乐趣。以下是一些优化网络同步的方案:使用UDP协议:由于UDP协议比TCP协议有更低的延迟,它通常被用于实时游戏网络通信。客户端预测(ClientPrediction):客户端可以预测玩家的移动和操作,而不是等待服务器的确认,这样可以减少</div> </li> <li><a href="/article/1938670289005113344.htm" title="C#实践小游戏--俄罗斯方块" target="_blank">C#实践小游戏--俄罗斯方块</a> <span class="text-muted">DamnF--</span> <a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E7%A8%8B%E5%BA%8F/1.htm">游戏程序</a> <div>整体游戏架构游戏主循环(Game)├─场景系统│├─开始场景(BeginScene)│├─游戏场景(GameScene)│└─结束场景(EndScene)│├─方块系统│├─方块控制器(BlockWorker)│├─方块形态数据(BlockInfo)│└─绘制单元(DrawObject)│├─地图系统(Map)├─输入系统(InputCheak)├─坐标系统(Position)└─接口规范(IDr</div> </li> <li><a href="/article/1938665753033109504.htm" title="华为OD机试 2025 B卷 - 抢7游戏 (C++ & Python & JAVA & JS & GO)" target="_blank">华为OD机试 2025 B卷 - 抢7游戏 (C++ & Python & JAVA & JS & GO)</a> <span class="text-muted">无限码力</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95%E7%9C%9F%E9%A2%98%E5%88%B7%E9%A2%98%E7%AC%94%E8%AE%B0/1.htm">华为OD机试真题刷题笔记</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95/1.htm">华为OD机试</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95/1.htm">华为OD机试</a><a class="tag" taget="_blank" href="/search/2025B%E5%8D%B7/1.htm">2025B卷</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAOD2025B%E5%8D%B7/1.htm">华为OD2025B卷</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%80%832025B%E5%8D%B7/1.htm">华为OD机考2025B卷</a> <div>抢7游戏华为OD机试真题目录点击查看:华为OD机试2025B卷真题题库目录|机考题库+算法考点详解华为OD机试2025B卷100分题型题目描述A、B两个人玩抢7游戏,游戏规则为:A先报一个起始数字X(10≤起始数字≤10000),B报下一个数字Y(X-Y<3),A再报一个数字Z(Y-Z<3),以此类推,直到其中一个抢到7,抢到7即为胜者;在B赢得比赛的情况下,一共有多少种组合?输入描述起始数字M。</div> </li> <li><a href="/article/1938661593223065600.htm" title="C#推箱子游戏源代码解析与实践指南" target="_blank">C#推箱子游戏源代码解析与实践指南</a> <span class="text-muted">Boa波雅</span> <div>本文还有配套的精品资源,点击获取简介:C#推箱子游戏是一个经典的益智游戏,适合编程初学者学习C#语言和游戏开发的基础知识。本篇文章将深入探讨使用C#语言开发推箱子游戏的源代码,涉及面向对象编程、图形用户界面(GUI)、事件驱动编程、数据结构与算法、状态管理、错误检查与边界条件、游戏逻辑以及调试技巧。通过学习本课程,初学者将能够掌握C#编程的基础和游戏逻辑的实现,并能够创建用户友好的界面。1.面向对</div> </li> <li><a href="/article/1938644954846916608.htm" title="Unity热更新 之 Lua" target="_blank">Unity热更新 之 Lua</a> <span class="text-muted">哈基咩咩</span> <a class="tag" taget="_blank" href="/search/Unity/1.htm">Unity</a><a class="tag" taget="_blank" href="/search/%E7%83%AD%E6%9B%B4%E6%96%B0/1.htm">热更新</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a> <div>本文内容整合包括但不限于Unity唐老狮,菜鸟教程,Ai与其他网络资源本文仅作学习笔记交流,不做任何商业用途,侵权删gitee:https://gitee.com/hakiSheep/lua.git一.基础知识包含了如下内容--注释还算详细二.XLuaXLua是腾讯开源的框架,为Unity、.Net等C#环境赋予Lua脚本编程能力,支持C#与Lua高效互调核心特性含热补丁(热更新)、GC优化(无额</div> </li> <li><a href="/article/1938637135074619392.htm" title="深度学习详解:通过案例了解机器学习基础" target="_blank">深度学习详解:通过案例了解机器学习基础</a> <span class="text-muted">beist</span> <a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>引言机器学习(MachineLearning,ML)和深度学习(DeepLearning,DL)是现代人工智能领域中的两个重要概念。通过让机器具备学习的能力,机器可以从数据中自动找到函数,并应用于各种任务,如语音识别、图像识别和游戏对战等。在这篇笔记中,我们将通过一个简单的案例,逐步了解机器学习的基础知识。1.1机器学习案例学习1.1.1回归问题与分类问题在机器学习中,根据所要解决的问题类型,任务</div> </li> <li><a href="/article/1938631088205262848.htm" title="Unity引擎开发:VR控制器开发_(4).VR控制器的基本操作与事件处理" target="_blank">Unity引擎开发:VR控制器开发_(4).VR控制器的基本操作与事件处理</a> <span class="text-muted">chenlz2007</span> <a class="tag" taget="_blank" href="/search/%E8%99%9A%E6%8B%9F%E7%8E%B0%E5%AE%9E%E6%B8%B8%E6%88%8F2/1.htm">虚拟现实游戏2</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/vr/1.htm">vr</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a><a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/lucene/1.htm">lucene</a> <div>VR控制器的基本操作与事件处理在虚拟现实(VR)游戏中,控制器是玩家与虚拟世界进行交互的主要工具。本节将详细介绍如何在Unity引擎中实现VR控制器的基本操作和事件处理。我们将使用Unity的XRInteractionToolkit来实现这些功能,因为它提供了一系列强大的工具和组件,可以简化VR控制器的开发过程。1.准备工作在开始之前,确保你已经安装了Unity的XRInteractionTool</div> </li> <li><a href="/article/1938589727951220736.htm" title="【蓝图】p36-p39蓝图通信、自定义事件、类型转换、角色移动速度、触发加速" target="_blank">【蓝图】p36-p39蓝图通信、自定义事件、类型转换、角色移动速度、触发加速</a> <span class="text-muted">叫我六胖子</span> <a class="tag" taget="_blank" href="/search/UE4%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/1.htm">UE4入门教程</a><a class="tag" taget="_blank" href="/search/ue4/1.htm">ue4</a> <div>p36-p39蓝图通信、自定义事件、类型转换、角色移动速度、触发加速p36蓝图通信和自定义事件蓝图通信自定义事件p37类型转换加速功能类型转换p38创建自定义事件p39实现触发加速p36蓝图通信和自定义事件蓝图通信在UnrealEngine(UE)中,蓝图通信是指蓝图之间的信息传递和交互过程。蓝图是UE中用于创建游戏逻辑和功能的可视化编程工具,而蓝图通信允许不同蓝图之间发送和接收数据。蓝图通信可以</div> </li> <li><a href="/article/1938580024626049024.htm" title="7、使用Sonic Pi进行音乐编程" target="_blank">7、使用Sonic Pi进行音乐编程</a> <span class="text-muted">轩辕姐姐</span> <a class="tag" taget="_blank" href="/search/%E6%A0%91%E8%8E%93%E6%B4%BE%E5%86%92%E9%99%A9%EF%BC%9A%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E7%9A%84%E7%BC%96%E7%A8%8B%E4%B9%8B%E6%97%85/1.htm">树莓派冒险:从零开始的编程之旅</a><a class="tag" taget="_blank" href="/search/Sonic/1.htm">Sonic</a><a class="tag" taget="_blank" href="/search/Pi/1.htm">Pi</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E4%B9%90%E7%BC%96%E7%A8%8B/1.htm">音乐编程</a><a class="tag" taget="_blank" href="/search/%E6%A0%91%E8%8E%93%E6%B4%BE/1.htm">树莓派</a> <div>使用SonicPi进行音乐编程1.引言树莓派不仅仅是一个小型计算机或游戏机,它还可以成为一个强大的音乐合成器。通过使用SonicPi这款应用程序,我们可以将计算思维与音乐创作结合起来,创造出独一无二的音乐作品。本文将详细介绍如何使用SonicPi进行音乐编程,帮助你将树莓派变成一个多功能的音乐创作平台。2.SonicPi简介SonicPi是一款专门为树莓派设计的音乐编程应用程序,由音乐现场编码员S</div> </li> <li><a href="/article/1938567283932721152.htm" title="三大WPF MVVM框架对比:MVVMLight、CommunityToolkit.Mvvm 与 Prism" target="_blank">三大WPF MVVM框架对比:MVVMLight、CommunityToolkit.Mvvm 与 Prism</a> <span class="text-muted"></span> <div>WPFMVVM框架对比:MVVMLight、CommunityToolkit.Mvvm与Prism1.核心区别特性MVVMLightCommunityToolkit.MvvmPrism开发背景第三方开源框架(LaurentBugnion)微软官方维护企业级框架(PrismLibrary团队)设计理念轻量级,快速实现基础MVVM现代化、源码生成驱动模块化、企业级应用架构依赖注入简易IoC容器(Sim</div> </li> <li><a href="/article/1938553793394307072.htm" title="Unity 事件中心管理工具 并 一键跳转 注册/触发代码行" target="_blank">Unity 事件中心管理工具 并 一键跳转 注册/触发代码行</a> <span class="text-muted">哈基咩咩</span> <a class="tag" taget="_blank" href="/search/Unity/1.htm">Unity</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6%E5%AD%A6%E4%B9%A0/1.htm">框架学习</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a> <div>本人能力有限,如有不足还请斧正目录一.设计思路:工具源码二.修改思路匹配关键字修改匹配程序集修改配套事件中心源码初版演示:unity事件中心日志小工具讲解,再也不怕乱用事件中心了_哔哩哔哩_bilibili跳转功能演示视频:Unity事件中心管理小工具支持点击跳转脚本嘻嘻_哔哩哔哩_bilibili一.设计思路:1.通过过滤指定程序集和并使用正则表达式匹配事件中心的订阅和触发的关键字2.将匹配到的</div> </li> <li><a href="/article/1938548628582887424.htm" title="QT实战项目(愤怒的小鸟)" target="_blank">QT实战项目(愤怒的小鸟)</a> <span class="text-muted">叫我小刘就好~</span> <a class="tag" taget="_blank" href="/search/C%2B%2B%2F/1.htm">C++/</a><a class="tag" taget="_blank" href="/search/QT/1.htm">QT</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/1.htm">动态规划</a> <div>源代码链接链接:https://pan.baidu.com/s/1IrxgId0mN7WnNEX3WS-9KQ提取码:hfcbB站演示视频https://www.bilibili.com/video/BV15B4y1k777/?vd_source=c3ed93afd505b51bdbde94d2ba5c28f6代码分析游戏开始界面游戏的初始登陆界面,是由数据库与弹窗口实例化的界面、数据库和qt弹窗</div> </li> <li><a href="/article/1938536528619827200.htm" title="[特殊字符] 我在CSDN下载专区上传了《外星人大战》游戏资源!" target="_blank">[特殊字符] 我在CSDN下载专区上传了《外星人大战》游戏资源!</a> <span class="text-muted">程序鸠</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/pygame/1.htm">pygame</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a> <div>我在CSDN下载专区上传了《外星人大战》游戏资源!大家好!想跟大家分享一下,我在CSDN下载专区上传了几个《外星人大战》相关的游戏资源,都是我自己整理或发布的,感兴趣的朋友可以来看看:上传的资源有:外星人大战-64位版exebate版发布时间:2025.05.02类型:.exe(可执行游戏文件)说明:游戏的测试版本。外星人大战-64位版1.00.01exe发布时间:2025.05.02类型:.ex</div> </li> <li><a href="/article/1938521189857161216.htm" title="鸿蒙5开发宝藏案例分享---一多开发实例(游戏)" target="_blank">鸿蒙5开发宝藏案例分享---一多开发实例(游戏)</a> <span class="text-muted"></span> <div>【开发者必看】鸿蒙隐藏宝箱大公开!这些实战案例让你的开发效率翻倍!哈喽各位开发者小伙伴!今天要和大家分享一个让我拍大腿的发现——原来鸿蒙官方早就给我们准备了超多高质量开发案例!(就像在衣柜里翻出十年前藏的现金一样惊喜!)这些藏在文档深处的"武功秘籍",能帮我们轻松实现分布式游戏、跨端协同这些听起来很酷的功能。快上车,带你解锁鸿蒙开发的正确姿势!一、分布式游戏手柄:用手机操控电视游戏(文档位置:设备</div> </li> <li><a href="/article/1938436063592771584.htm" title="游戏体验中AI交互的深度剖析与发展展望" target="_blank">游戏体验中AI交互的深度剖析与发展展望</a> <span class="text-muted">抬起右手</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a> <div>在游戏产业蓬勃发展的当下,AI交互正以前所未有的态势重塑着玩家的游戏体验。从最初的简单文字互动,到如今深度融入各类游戏类型,AI交互不断突破边界,为玩家带来更加丰富、个性化的游戏世界。一、简单文字游戏:AI交互的先锋阵地(一)基础对话生成:开启交互之门文字游戏:斗罗大陆-CSDN博客在简单文字游戏的初始阶段,AI交互以基础对话生成的形式崭露头角。这类游戏通常构建起一个简单的故事框架,如冒险、解谜等</div> </li> <li><a href="/article/1938421440239955968.htm" title="从按钮到爆款:Cocos Creator 如何重塑前端游戏开发生态" target="_blank">从按钮到爆款:Cocos Creator 如何重塑前端游戏开发生态</a> <span class="text-muted">斯~内克</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>在当下高度碎片化的娱乐时代,H5小游戏、微信小游戏、抖音小游戏等轻量化游戏形式已成为流量新宠。面对这一趋势,传统前端开发者常常陷入困境:如何快速构建高性能、跨平台的游戏化体验?CocosCreator作为一款开源引擎,正以其独特的技术架构和开发理念,悄然改变着前端游戏开发的格局。一、定位重塑:CocosCreator的独特价值与其他主流引擎相比,CocosCreator的定位十分明确:对前端开发者</div> </li> <li><a href="/article/1938407948367753216.htm" title="Unity消防演练资源" target="_blank">Unity消防演练资源</a> <span class="text-muted">霍娴果Myrtle</span> <div>Unity消防演练资源【下载地址】Unity消防演练资源本资源包为Unity开发者提供了丰富的消防演练场景所需的各种资源,包括多种火焰粒子效果、灭火器模型、水粒子效果以及一个废弃仓库场景。这些资源可以帮助开发者快速搭建一个逼真的消防演练场景,适用于教育、培训或游戏开发等多种应用场景项目地址:https://gitcode.com/open-source-toolkit/3cb4e资源简介本资源包为</div> </li> <li><a href="/article/1938378939558850560.htm" title="Unity中,Canva的三种渲染模式" target="_blank">Unity中,Canva的三种渲染模式</a> <span class="text-muted">Lowjin_</span> <a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a> <div>在Unity中,Canvas组件的渲染模式(RenderMode)决定了UI元素如何渲染在屏幕上。不同的渲染模式有不同的用途和表现,主要有三种模式:屏幕空间-覆盖(ScreenSpace-Overlay)屏幕空间-摄像机(ScreenSpace-Camera)世界空间(WorldSpace)1.屏幕空间-覆盖(ScreenSpace-Overlay)解释:屏幕空间-覆盖是默认的渲染模式。在这种模式</div> </li> <li><a href="/article/1938345405397921792.htm" title="蓝桥杯备考---》模拟算法之扫雷游戏" target="_blank">蓝桥杯备考---》模拟算法之扫雷游戏</a> <span class="text-muted">无敌大饺子 dot</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/1.htm">蓝桥杯</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a> <div>#includeconstintN=120;usingnamespacestd;intn,m;chara[N][N];intdx[]={-1,-1,0,1,1,1,0,-1};intdy[]={0,1,1,1,0,-1,-1,-1};intmain(){cin>>n>>m;for(inti=1;i>a[i][j];}}for(inti=1;in||y>m){continue;}if(a[x][y]</div> </li> <li><a href="/article/1938341375728742400.htm" title="(LeetCode 面试经典 150 题 ) 55. 跳跃游戏 (贪心)" target="_blank">(LeetCode 面试经典 150 题 ) 55. 跳跃游戏 (贪心)</a> <span class="text-muted">岁忧</span> <a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E7%BB%8F%E5%85%B8/1.htm">面试经典</a><a class="tag" taget="_blank" href="/search/150/1.htm">150</a><a class="tag" taget="_blank" href="/search/%E9%A2%98/1.htm">题</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/JAVA/1.htm">JAVA</a><a class="tag" taget="_blank" href="/search/Go%E7%89%88%E6%9C%AC/1.htm">Go版本</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/go/1.htm">go</a> <div>题目:55.跳跃游戏思路:贪心,维护可达的最远距离last。时间复杂度0(n)。C++版本:classSolution{public:boolcanJump(vector&nums){intlast=0;for(inti=0;i<nums.size();i++){if(last<i)returnfalse;last=max(last,nums[i]+i);}returntrue;}};JAVA版本</div> </li> <li><a href="/article/1938308966140407808.htm" title="《从0到1:C/C++音视频开发自学指南》" target="_blank">《从0到1:C/C++音视频开发自学指南》</a> <span class="text-muted">空云风语</span> <a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E8%A7%86%E8%A7%89/1.htm">机器视觉</a><a class="tag" taget="_blank" href="/search/Opencv/1.htm">Opencv</a><a class="tag" taget="_blank" href="/search/QT/1.htm">QT</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a> <div>开启自学之旅:为何选择C/C++音视频开发在当今数字化时代,音视频开发的应用场景极为广泛,深刻融入了我们生活与工作的方方面面。从火爆的直播行业,无论是电商直播中主播与观众的实时互动,还是游戏直播里精彩赛事的实时呈现;到备受欢迎的短视频平台,各种创意短视频的制作与分享;再到便捷的视频会议,让远程办公、在线教育成为可能,实现了跨地域的高效沟通与协作。这些丰富多样的应用场景,都离不开音视频开发技术的有力</div> </li> <li><a href="/article/1938237985266921472.htm" title="语言游戏实战(12):植物大战僵尸(坤版)" target="_blank">语言游戏实战(12):植物大战僵尸(坤版)</a> <span class="text-muted">Code Warrior</span> <a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>植物大战僵尸前言:本游戏使用C语言和easyx图形库编写,通过这个项目我们可以深度的掌握C语言的各种语言特性和高级开发技巧,以及锻炼我们独立的项目开发能力,在开始编写代码之前,我们需要先了解一下游戏的基本规则和功能:游戏界面:游戏界面是一个矩形区域,玩家可以在区域内进行植物的放置和铲除等操作。僵尸:僵尸会从游戏界面的右侧向左测移动,靠近植物后会停下来吃植物。植物:不同的植物有不同的功能,在这里我们</div> </li> <li><a href="/article/1938214409964941312.htm" title="用Delphi+DirectX开发简单RPG游戏" target="_blank">用Delphi+DirectX开发简单RPG游戏</a> <span class="text-muted">sasa123as</span> <a class="tag" taget="_blank" href="/search/delphi/1.htm">delphi</a><a class="tag" taget="_blank" href="/search/delphi/1.htm">delphi</a><a class="tag" taget="_blank" href="/search/integer/1.htm">integer</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/direct3d/1.htm">direct3d</a><a class="tag" taget="_blank" href="/search/div/1.htm">div</a><a class="tag" taget="_blank" href="/search/button/1.htm">button</a> <div>提到rpg(角色扮演游戏,roleplaygame),在座各位恐怕没有不熟悉的。从古老经典的dos版《仙剑奇侠传》到新潮花哨的《轩辕剑》系列,无不以曲折优美的故事情节,美丽可人的主角,悦耳动情的背景音乐,震撼了每一个玩家的心灵。而说到rpg,就不能不提directx,因为pc上大部分的rpg都是用这个冬冬开发的。早在《轩辕剑叁外传——天之痕》推出的时候,我就曾想过用directx写一个自己的rpg</div> </li> <li><a href="/article/1938211382692474880.htm" title="用Delphi + DirectX开发简单RPG游戏" target="_blank">用Delphi + DirectX开发简单RPG游戏</a> <span class="text-muted">NumberTop</span> <a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>提到RPG(角色扮演游戏,RolePlayGame),在座各位恐怕没有不熟悉的。从古老经典的DOS版《仙剑奇侠传》到新潮花哨的《轩辕剑》系列,无不以曲折优美的故事情节,美丽可人的主角,悦耳动情的背景音乐,震撼了每一个玩家的心灵。而说到RPG,就不能不提DirectX,因为PC上大部分的RPG都是用这个冬冬开发的。早在《轩辕剑叁外传——天之痕》推出的时候,我就曾想过用DirectX写一个自己的RPG</div> </li> <li><a href="/article/1938190956696236032.htm" title="Docker环境下部署拼图网页小游戏" target="_blank">Docker环境下部署拼图网页小游戏</a> <span class="text-muted">江湖有缘</span> <a class="tag" taget="_blank" href="/search/%E7%8E%A9%E8%BD%AC%E5%B0%8F%E6%B8%B8%E6%88%8F%E5%90%88%E9%9B%86/1.htm">玩转小游戏合集</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E6%B8%B8%E6%88%8F/1.htm">小游戏</a> <div>【好玩的经典游戏】Docker环境下部署拼图网页小游戏前言一、相关介绍1.1httpd介绍1.2拼图网页小游戏介绍二、本次实践介绍2.1本地环境规划2.2本次实践说明三、本地环境检查3.1检查Docker服务状态3.2检查Docker版本3.3检查dockercompose版本四、下载httpd镜像五、创建httpd容器5.1新建目录5.2创建httpd容器5.3查看容器状态5.4访问httpd服</div> </li> <li><a href="/article/84.htm" title="继之前的线程循环加到窗口中运行" target="_blank">继之前的线程循环加到窗口中运行</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/JFrame/1.htm">JFrame</a><a class="tag" taget="_blank" href="/search/JPanel/1.htm">JPanel</a> <div>之前写了有关java线程的循环执行和结束,因为想制作成exe文件,想把执行的效果加到窗口上,所以就结合了JFrame和JPanel写了这个程序,这里直接贴出代码,在窗口上运行的效果下面有附图。 package thread; import java.awt.Graphics; import java.text.SimpleDateFormat; import java.util</div> </li> <li><a href="/article/211.htm" title="linux 常用命令" target="_blank">linux 常用命令</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%91%BD%E4%BB%A4/1.htm">命令</a> <div>1.grep 相信这个命令可以说是大家最常用的命令之一了。尤其是查询生产环境的日志,这个命令绝对是必不可少的。 但之前总是习惯于使用 (grep -n 关键字 文件名 )查出关键字以及该关键字所在的行数,然后再用 (sed -n  '100,200p' 文件名),去查出该关键字之后的日志内容。 但其实还有更简便的办法,就是用(grep  -B n、-A n、-C n 关键</div> </li> <li><a href="/article/338.htm" title="php heredoc原文档和nowdoc语法" target="_blank">php heredoc原文档和nowdoc语法</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/heredoc/1.htm">heredoc</a><a class="tag" taget="_blank" href="/search/nowdoc/1.htm">nowdoc</a> <div><!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Current To-Do List</title> </head> <body> <?</div> </li> <li><a href="/article/465.htm" title="overflow的属性" target="_blank">overflow的属性</a> <span class="text-muted">周华华</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&q</div> </li> <li><a href="/article/592.htm" title="《我所了解的Java》——总体目录" target="_blank">《我所了解的Java》——总体目录</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>        准备用一年左右时间写一个系列的文章《我所了解的Java》,目录及内容会不断完善及调整。         在编写相关内容时难免出现笔误、代码无法执行、名词理解错误等,请大家及时指出,我会第一时间更正。    &n</div> </li> <li><a href="/article/719.htm" title="[简单]docx4j常用方法小结" target="_blank">[简单]docx4j常用方法小结</a> <span class="text-muted">53873039oycg</span> <a class="tag" taget="_blank" href="/search/docx/1.htm">docx</a> <div>        本代码基于docx4j-3.2.0,在office word 2007上测试通过。代码如下:         import java.io.File; import java.io.FileInputStream; import ja</div> </li> <li><a href="/article/846.htm" title="Spring配置学习" target="_blank">Spring配置学习</a> <span class="text-muted">云端月影</span> <a class="tag" taget="_blank" href="/search/spring%E9%85%8D%E7%BD%AE/1.htm">spring配置</a> <div> 首先来看一个标准的Spring配置文件 applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&q</div> </li> <li><a href="/article/973.htm" title="Java新手入门的30个基本概念三" target="_blank">Java新手入门的30个基本概念三</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%96%B0%E6%89%8B/1.htm">新手</a><a class="tag" taget="_blank" href="/search/java+%E5%85%A5%E9%97%A8/1.htm">java 入门</a> <div>17.Java中的每一个类都是从Object类扩展而来的。  18.object类中的equal和toString方法。  equal用于测试一个对象是否同另一个对象相等。  toString返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以便返回当前状态的正确表示.(toString 方法是一个很重要的方法)   19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。 </div> </li> <li><a href="/article/1100.htm" title="《2008 IBM Rational 软件开发高峰论坛会议》小记" target="_blank">《2008 IBM Rational 软件开发高峰论坛会议》小记</a> <span class="text-muted">antonyup_2006</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/%E6%95%8F%E6%8D%B7%E5%BC%80%E5%8F%91/1.htm">敏捷开发</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/IBM/1.htm">IBM</a><a class="tag" taget="_blank" href="/search/%E6%B4%BB%E5%8A%A8/1.htm">活动</a> <div>我一直想写些总结,用于交流和备忘,然都没提笔,今以一篇参加活动的感受小记开个头,呵呵! 其实参加《2008 IBM Rational 软件开发高峰论坛会议》是9月4号,那天刚好调休.但接着项目颇为忙,所以今天在中秋佳节的假期里整理了下. 参加这次活动是一个朋友给的一个邀请书,才知道有这样的一个活动,虽然现在项目暂时没用到IBM的解决方案,但觉的参与这样一个活动可以拓宽下视野和相关知识.</div> </li> <li><a href="/article/1227.htm" title="PL/SQL的过程编程,异常,声明变量,PL/SQL块" target="_blank">PL/SQL的过程编程,异常,声明变量,PL/SQL块</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/PL%2FSQL%E7%9A%84%E8%BF%87%E7%A8%8B%E7%BC%96%E7%A8%8B/1.htm">PL/SQL的过程编程</a><a class="tag" taget="_blank" href="/search/%E5%BC%82%E5%B8%B8/1.htm">异常</a><a class="tag" taget="_blank" href="/search/PL%2FSQL%E5%9D%97/1.htm">PL/SQL块</a><a class="tag" taget="_blank" href="/search/%E5%A3%B0%E6%98%8E%E5%8F%98%E9%87%8F/1.htm">声明变量</a> <div>PL/SQL;    过程; 符号; 变量; PL/SQL块; 输出; 异常;     PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言PL/SQL 是对 SQL 的扩展,sql的执行时每次都要写操作</div> </li> <li><a href="/article/1354.htm" title="Mockito(三)--完整功能介绍" target="_blank">Mockito(三)--完整功能介绍</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90/1.htm">持续集成</a><a class="tag" taget="_blank" href="/search/mockito/1.htm">mockito</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a> <div>        mockito官网:http://code.google.com/p/mockito/,打开documentation可以看到官方最新的文档资料。 一.使用mockito验证行为 //首先要import Mockito import static org.mockito.Mockito.*; //mo</div> </li> <li><a href="/article/1481.htm" title="精通Oracle10编程SQL(8)使用复合数据类型" target="_blank">精通Oracle10编程SQL(8)使用复合数据类型</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a> <div>/* *使用复合数据类型 */ --PL/SQL记录 --定义PL/SQL记录 --自定义PL/SQL记录 DECLARE TYPE emp_record_type IS RECORD( name emp.ename%TYPE, salary emp.sal%TYPE, dno emp.deptno%TYPE ); emp_</div> </li> <li><a href="/article/1608.htm" title="【Linux常用命令一】grep命令" target="_blank">【Linux常用命令一】grep命令</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Linux%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/1.htm">Linux常用命令</a> <div>grep命令格式   grep [option] pattern [file-list]     grep命令用于在指定的文件(一个或者多个,file-list)中查找包含模式串(pattern)的行,[option]用于控制grep命令的查找方式。   pattern可以是普通字符串,也可以是正则表达式,当查找的字符串包含正则表达式字符或者特</div> </li> <li><a href="/article/1735.htm" title="mybatis3入门学习笔记" target="_blank">mybatis3入门学习笔记</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a><a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a><a class="tag" taget="_blank" href="/search/jdbc/1.htm">jdbc</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86/1.htm">配置管理</a> <div>MyBatis 的前身就是iBatis,是一个数据持久层(ORM)框架。  MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis对JDBC进行了一次很浅的封装。   以前也学过iBatis,因为MyBatis是iBatis的升级版本,最初以为改动应该不大,实际结果是MyBatis对配置文件进行了一些大的改动,使整个框架更加方便人性化。</div> </li> <li><a href="/article/1862.htm" title="Linux 命令神器:lsof 入门" target="_blank">Linux 命令神器:lsof 入门</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/lsof/1.htm">lsof</a> <div>       lsof是系统管理/安全的尤伯工具。我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。 有趣的是,lsof也是有着最多</div> </li> <li><a href="/article/1989.htm" title="java实现两个大数相加,可能存在溢出。" target="_blank">java实现两个大数相加,可能存在溢出。</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java%E5%AE%9E%E7%8E%B0/1.htm">java实现</a> <div> import java.math.BigInteger; import java.util.regex.Matcher; import java.util.regex.Pattern; public class BigIntegerAddition { /** * 题目:java实现两个大数相加,可能存在溢出。 * 如123456789 + 987654321</div> </li> <li><a href="/article/2116.htm" title="Kettle学习资料分享,附大神用Kettle的一套流程完成对整个数据库迁移方法" target="_blank">Kettle学习资料分享,附大神用Kettle的一套流程完成对整个数据库迁移方法</a> <span class="text-muted">Kai_Ge</span> <a class="tag" taget="_blank" href="/search/Kettle/1.htm">Kettle</a> <div>Kettle学习资料分享   Kettle 3.2 使用说明书 目录 概述..........................................................................................................................................7 1.Kettle 资源库管</div> </li> <li><a href="/article/2243.htm" title="[货币与金融]钢之炼金术士" target="_blank">[货币与金融]钢之炼金术士</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D/1.htm">金融</a> <div>        自古以来,都有一些人在从事炼金术的工作.........但是很少有成功的        那么随着人类在理论物理和工程物理上面取得的一些突破性进展......        炼金术这个古老</div> </li> <li><a href="/article/2370.htm" title="Toast原来也可以多样化" target="_blank">Toast原来也可以多样化</a> <span class="text-muted">dai_lm</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/toast/1.htm">toast</a> <div>Style 1: 默认 Toast def = Toast.makeText(this, "default", Toast.LENGTH_SHORT); def.show(); Style 2: 顶部显示 Toast top = Toast.makeText(this, "top", Toast.LENGTH_SHORT); t</div> </li> <li><a href="/article/2497.htm" title="java数据计算的几种解决方法3" target="_blank">java数据计算的几种解决方法3</a> <span class="text-muted">datamachine</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a><a class="tag" taget="_blank" href="/search/r-langue/1.htm">r-langue</a><a class="tag" taget="_blank" href="/search/r/1.htm">r</a> <div>4、iBatis     简单敏捷因此强大的数据计算层。和Hibernate不同,它鼓励写SQL,所以学习成本最低。同时它用最小的代价实现了计算脚本和JAVA代码的解耦,只用20%的代价就实现了hibernate 80%的功能,没实现的20%是计算脚本和数据库的解耦。     复杂计算环境是它的弱项,比如:分布式计算、复杂计算、非数据</div> </li> <li><a href="/article/2624.htm" title="向网页中插入透明Flash的方法和技巧" target="_blank">向网页中插入透明Flash的方法和技巧</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/Flash/1.htm">Flash</a> <div>将 Flash 作品插入网页的时候,我们有时候会需要将它设为透明,有时候我们需要在Flash的背面插入一些漂亮的图片,搭配出漂亮的效果……下面我们介绍一些将Flash插入网页中的一些透明的设置技巧。   一、Swf透明、无坐标控制  首先教大家最简单的插入Flash的代码,透明,无坐标控制:   注意wmode="transparent"是控制Flash是否透明</div> </li> <li><a href="/article/2751.htm" title="ios UICollectionView的使用" target="_blank">ios UICollectionView的使用</a> <span class="text-muted">dcj3sjt126com</span> <div>UICollectionView的使用有两种方法,一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView;另外一种是作为一个视图放在普通的UIViewController里面。 个人更喜欢第二种。下面采用第二种方式简单介绍一下UICollectionView的使用。 1.UIViewController实现委托,代码如</div> </li> <li><a href="/article/2878.htm" title="Eos平台java公共逻辑" target="_blank">Eos平台java公共逻辑</a> <span class="text-muted">蕃薯耀</span> <a class="tag" taget="_blank" href="/search/Eos%E5%B9%B3%E5%8F%B0java%E5%85%AC%E5%85%B1%E9%80%BB%E8%BE%91/1.htm">Eos平台java公共逻辑</a><a class="tag" taget="_blank" href="/search/Eos%E5%B9%B3%E5%8F%B0/1.htm">Eos平台</a><a class="tag" taget="_blank" href="/search/java%E5%85%AC%E5%85%B1%E9%80%BB%E8%BE%91/1.htm">java公共逻辑</a> <div> Eos平台java公共逻辑 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 2015年6月1日 17:20:4</div> </li> <li><a href="/article/3005.htm" title="SpringMVC4零配置--Web上下文配置【MvcConfig】" target="_blank">SpringMVC4零配置--Web上下文配置【MvcConfig】</a> <span class="text-muted">hanqunfeng</span> <a class="tag" taget="_blank" href="/search/springmvc4/1.htm">springmvc4</a> <div>与SpringSecurity的配置类似,spring同样为我们提供了一个实现类WebMvcConfigurationSupport和一个注解@EnableWebMvc以帮助我们减少bean的声明。   applicationContext-MvcConfig.xml <!-- 启用注解,并定义组件查找规则 ,mvc层只负责扫描@Controller --> <</div> </li> <li><a href="/article/3132.htm" title="解决ie和其他浏览器poi下载excel文件名乱码" target="_blank">解决ie和其他浏览器poi下载excel文件名乱码</a> <span class="text-muted">jackyrong</span> <a class="tag" taget="_blank" href="/search/Excel/1.htm">Excel</a> <div>   使用poi,做传统的excel导出,然后想在浏览器中,让用户选择另存为,保存用户下载的xls文件,这个时候,可能的是在ie下出现乱码(ie,9,10,11),但在firefox,chrome下没乱码, 因此必须综合判断,编写一个工具类:      /** * * @Title: pro</div> </li> <li><a href="/article/3259.htm" title="挥洒泪水的青春" target="_blank">挥洒泪水的青春</a> <span class="text-muted">lampcy</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a> <div>2015年2月28日,我辞职了,离开了相处一年的触控,转过身--挥洒掉泪水,毅然来到了兄弟连,背负着许多的不解、质疑——”你一个零基础、脑子又不聪明的人,还敢跨行业,选择Unity3D?“,”真是不自量力••••••“,”真是初生牛犊不怕虎•••••“,••••••我只是淡淡一笑,拎着行李----坐上了通向挥洒泪水的青春之地——兄弟连! 这就是我青春的分割线,不后悔,只会去用泪水浇灌——已经来到</div> </li> <li><a href="/article/3386.htm" title="稳增长之中国股市两点意见-----严控做空,建立涨跌停版停牌重组机制" target="_blank">稳增长之中国股市两点意见-----严控做空,建立涨跌停版停牌重组机制</a> <span class="text-muted">nannan408</span> <div>   对于股市,我们国家的监管还是有点拼的,但始终拼不过飞流直下的恐慌,为什么呢?    笔者首先支持股市的监管。对于股市越管越荡的现象,笔者认为首先是做空力量超过了股市自身的升力,并且对于跌停停牌重组的快速反应还没建立好,上市公司对于股价下跌没有很好的利好支撑。    我们来看美国和香港是怎么应对股灾的。美国是靠禁止重要股票做空,在</div> </li> <li><a href="/article/3513.htm" title="动态设置iframe高度(iframe高度自适应)" target="_blank">动态设置iframe高度(iframe高度自适应)</a> <span class="text-muted">Rainbow702</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/iframe/1.htm">iframe</a><a class="tag" taget="_blank" href="/search/contentDocument/1.htm">contentDocument</a><a class="tag" taget="_blank" href="/search/%E9%AB%98%E5%BA%A6%E8%87%AA%E9%80%82%E5%BA%94/1.htm">高度自适应</a><a class="tag" taget="_blank" href="/search/%E5%B1%80%E9%83%A8%E5%88%B7%E6%96%B0/1.htm">局部刷新</a> <div>如果需要对画面中的部分区域作局部刷新,大家可能都会想到使用ajax。 但有些情况下,须使用在页面中嵌入一个iframe来作局部刷新。 对于使用iframe的情况,发现有一个问题,就是iframe中的页面的高度可能会很高,但是外面页面并不会被iframe内部页面给撑开,如下面的结构: <div id="content"> <div id=&quo</div> </li> <li><a href="/article/3640.htm" title="用Rapael做图表" target="_blank">用Rapael做图表</a> <span class="text-muted">tntxia</span> <a class="tag" taget="_blank" href="/search/rap/1.htm">rap</a> <div>function drawReport(paper,attr,data){          var width = attr.width;     var height = attr.height;          var max = 0;   &nbs</div> </li> <li><a href="/article/3767.htm" title="HTML5 bootstrap2网页兼容(支持IE10以下)" target="_blank">HTML5 bootstrap2网页兼容(支持IE10以下)</a> <span class="text-muted">xiaoluode</span> <a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/bootstrap/1.htm">bootstrap</a> <div><!DOCTYPE html> <html> <head lang="zh-CN"> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"></div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>