精选分类

文章列表

4k 4 分钟

# C# 调用 Lua 在安装 Lua 的文件夹中找到 lua54.dll 并导入 CSharp 项目 使用 DllImport 导入 Lua 函数 注意:宏定义无法导出到 dll 中,应该使用宏对应的函数(在 Lua 源码中查找即可) using System;using System.Runtime.InteropServices;namespace LuaAndCSharp{ public class CSharp2Lua { private const string LuaLib = "lua54.dll"; #region...
20k 18 分钟

# Lua Lua 是一种轻量的脚本语言,用标准 C 语言编写并且开源 Lua 常用于游戏开发、应用脚本、应用插件等 Lua 可以很方便的嵌入别的程序里,可以直接使用宿主语言(通常是 C 或 C++)提供的功能 Lua 支持面向过程编程、自动内存管理、语言内置模式匹配、闭包(通过闭包和 table 可以支持面向对象编程)、多线程 Lua 代码文件的后缀名为 .lua 建议:VS Code 中有很多关于 Lua 的扩展,可以方便编程和调试 # 基本语法 # 注释 单行注释:使用 -- 开头 --print("Hello World")多行注释:使用 --[[开始,使用]]...
3.7k 3 分钟

# 正则表达式 (Regular Expression) 正则表达式是一种文本模式,用于模式匹配、查找、替换、验证、提取文本数据 正则表达式可以应用于各种编程语言和文本处理工具中 # 语法 # 常用字符 字符 描述 [ABC] 匹配 [] 中出现的所有字符。例如:[ABC] 匹配字符串 "AEBECE" 结果为 AEBECE [^ABC] 匹配除了 [^A] 中出现的所有字符。例如:[^ABC] 匹配字符串 "AEBECE" 结果为...
33k 30 分钟

王道 408 操作系统笔记 # 操作系统概述 # 概念、功能、目标 概念 作为系统资源的管理者(基本功能) 作为用户和计算机硬件之间的接口(用户接口) 命令接口 联机命令接口,又称交互式命令接口 脱机命令接口,又称批处理命令接口 程序接口:由系统调用组成 图形用户接口:GUI,图形用户界面 首选 系统调用 和 图形用户界面 实现对计算机资源的扩充 覆盖了软件的机器称为扩充机器或虚拟机 目标(方便用户使用) 方便性 有效性 可扩充性 开放性 # 特征 四大特征:并发、共享、虚拟、异步 (并发和共享是最基本的特征) 并发和并行 并发:多个事件交替发生,并发 = 串行 = 同步 =...
59k 53 分钟

王道 408 数据结构笔记 # 第一章 绪论 # 数据结构的基本概念 基本概念和术语 数据是信息的载体 数据元素是数据的基本单位,由若干个数据项(最小单位)组成 数据对象是具有相同性质的数据元素的集合 数据类型分为原子类型、结构类型、抽象数据类型(抽象数据类型可以定义一个完整的数据结构) 数据结构是存在某种关系的数据元素的集合,包括逻辑结构、存储结构与数据的运算 不定长文件是指 记录的长度不固定 存储数据时,要存储 元素的值 和...
624 1 分钟

# 数学公式 本功能基于 markdown-it-katex 在 Front Matter 中添加 math: true 以支持 KaTex KaTeX 轻量、渲染快速。 KaTeX 支持大部分常见的数学符号和表达式,但某些复杂的或较少使用的语法在 KaTeX 中可能不受支持。 数学公式大全:KaTeX 数学公式大全 注意! 部分数学公式可能会出现渲染错误(概率事件) 输入 $a^b$,显示为 a^ 输入 $\dfrac{a}{b}$,显示为 \dfrac{a}解决方法:...
1.2k 1 分钟

# 锁钥设计 通过一步步的引导和限制,设计玩家的思维方式,让他们自己找到答案。 # 核心锁(游戏设计常见的核心方式) 实体锁(关键物品、关键技能、关键剧情) 核心体验是:获得 信息锁(密码、问题的答案、特殊的操作、进入某个区域的方式、一开始就拥有的技能,但是在开局时不全都告诉玩家,需要玩家自己去发现它或者设计某个特殊场景引领玩家发现它) 核心体验是:学习 难度锁(高难度的敌人、等级限制、昂贵的道具,目的在于劝退,让玩家走上自己设计好的路线) 核心体验是:挑战 #...
6.6k 6 分钟

# Unity 多人联机(Netcode) Netcode for GameObjects (NGO) 是一个专为 Unity 构建的高级网络库,可帮助您抽象网络逻辑。您可以通过网络会话一次性将游戏对象和世界数据发送给许多玩家。借助 NGO,您可以专注于构建游戏,而不是低级协议和网络框架。 本篇只介绍部分基础组件并利用它们实现简单的联机功能,其他高级应用请看官方文档。 # 组件 # 安装 Netcode 安装条件:Unity 版本在 2021.3 或以上、Mono 和 IL2CPP 后端脚本。 安装方法:打开 PackageManager(Window ->...
6.7k 6 分钟

# AssetBundle 创建与加载 AssetBundle 只能用代码创建和加载 在创建前需要先为资源分配资源包,如图: # AssetBundle 创建 区分平台(Windows、OSX、Linux 等) 区分创建方式(是否压缩、压缩方式等) lua 文件无法被打包,本文使用的方法是:生成 .lua 文件对应的 .txt 文件,将 .txt 文件打包,然后删除生成的 .txt 文件 using System.Collections.Generic;using System.IO;using System.Text;using UnityEditor;using...
6.4k 6 分钟

# 渲染管线 渲染管线(Rendering Pipeline)是计算机图形学中用于将三维场景转化为二维图像的一系列处理步骤。它是一个由多个阶段组成的流水线,每个阶段都负责对图形数据进行特定的操作和处理。 # 概念流水线 从概念上可以分为 3 个阶段:应用阶段、几何阶段、光栅化阶段 应用阶段 在 CPU 中进行。开发者拥有这个阶段的绝对控制权。这一阶段主要有三个任务:场景(模型、相机、特效等)、设置渲染状态(shader、材质贴图、纹理)、遮挡剔除。这一阶段的输出结果是渲染所需的几何信息,即渲染图元。 几何阶段 通常在 GPU...