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

CDN 网站是否需要重新备案网站开发后台用什么语言

CDN 网站是否需要重新备案,网站开发后台用什么语言,html教程入门,毕业设计代做网站都可信么代理服务器的核心功能是在客户端#xff08;用户设备#xff09;和目标服务器#xff08;网站/资源服务器#xff09;之间充当“中介”#xff0c;具体过程如下#xff1a; 代理服务器的工作流程 当客户端希望访问某个网站#xff08;比如 example.com#xff09;时用户设备和目标服务器网站/资源服务器之间充当“中介”具体过程如下 代理服务器的工作流程 当客户端希望访问某个网站比如 example.com时 客户端向代理服务器发送请求 用户浏览器/应用发送 HTTP 或 HTTPS 请求而不是直接访问 example.com而是先把请求发送到代理服务器。这个请求通常包含 目标地址example.com、用户数据如 Cookie、HTTP 头部如 User-Agent。 代理服务器接收请求并解析 代理服务器解析请求看它是要访问哪个网站是否已经有缓存数据。如果是 HTTP 请求代理服务器可以完全读取请求的内容。如果是 HTTPS 请求通常代理服务器只能看到目标地址无法直接查看数据除非使用中间人代理稍后讲。 代理服务器处理请求 代理服务器决定如何处理这个请求有几种可能 缓存命中如果这个资源已经被缓存代理服务器可以直接返回缓存内容而不去请求目标服务器。转发请求如果没有缓存代理服务器就会 以自己的身份 代表用户去访问 example.com。内容过滤少部分代理服务器会检查 URL如果是被禁止的网站如某些公司禁止访问社交网站代理服务器可能会拦截请求返回错误信息。 代理服务器向目标服务器发送请求 如果代理决定转发请求它会 使用自己的 IP 地址 向 example.com 发送 HTTP 请求而不是使用客户端的 IP。在目标服务器看来这个请求是来自代理服务器而不是来自真实的客户端。 目标服务器返回响应 目标服务器example.com收到代理服务器的请求生成响应如 HTML 页面、JSON 数据等。这个响应被发回代理服务器。 代理服务器处理响应 代理服务器可能会 缓存响应如果这个内容可以重复使用它可能会存到本地缓存以便下次有人请求时可以更快地返回数据。修改响应某些代理可能会修改返回的内容比如给网页加上广告或者删除某些敏感内容。 代理服务器把响应转发给客户端 最终代理服务器会把响应返回给客户端客户端认为自己是直接访问了 example.com但实际上整个过程是通过代理完成的。 ----------------- unity的Toolbox插件 上方的输入栏可以输入提示词输入好之后点击下方的Generate会根据这段话自动生成脚本。也可以按快捷键CtrlEnter或者CmdReturn 右侧的两个按钮可以查看上一段提示词和下一段提示词。 点击AdavancedOptions可以设置几个参数。 Temperature 脚本生成的随机度。 数值越大脚本生成得就越随机。 数值为0则脚本的生成是严格固定的。 Timeout 向chatGPT发送信息时是否考虑超时。 勾选后下方会出现一个Seconds参数例如它的值是90则表示如果90秒过后chatGPT也没有回应我们则视为超时此时会断开 连接。 Save to histroy 勾选后我们每次写的提示词都会被记录下来可以点击右侧的“History”查看。 取消勾选则我们每次写的提示词都不会被记录下来。 ------------- 一般也不是作者不会改别人代码容易出问题 AICommand2021用的好像有点问题不能在Project Setting里看到生成的AI Command一栏 1、点击“Run按钮则会把我们输入的提示词以消息的形式发送给ChatGPT 2、ChatGPT回复我们消息 3、利用回复的代码内容生成一个临时的C#文件 4、通过编辑器扩展的方法来执行这个C#文件夹 ----- 所以可以做的是对场景上的物体增删查改对文件夹增删查改 通过生成临时文件在unity中达到修改的作用 删除临时文件 1. 域名本质上只是一个“地址” example.com 和 example.net 只是不同的“地址”指向不同的服务器但它们可以运行完全相同的网站代码。只要服务器上有网站的副本并且 DNS 指向正确的 IP它就是一个新的站点。 2. 访问限制、SEO 和封锁 某些国家/地区会封锁特定域名如 chat.openai.com但新域名如 chatgpt-cn.com可能不会被立即封锁。搜索引擎会认为 example.com 和 example.net 是两个不同的网站它们的搜索排名和可信度也可能不同。一些镜像站利用这个原理在旧域名被封锁后换新域名重新上线。 使用GPT接入unity -------- ---------- ----------- private是设置给自己的这样一想这些修饰符就有意思了 ---- Trigger要保持default层这样才可以被玩家检测到父物体则要保持在item层这样才可以和Ground 层正常的产生碰撞检测 掉落的物品用这样的prefab去做好然后更换里面的Item的信息 equipment / equipmentDictionary → 存储角色装备 equipment列表存储 当前角色已装备的物品。equipmentDictionary字典提供 快速查询装备的功能。 inventory / inventoryDictionary → 存储背包中的物品 inventory列表存储 玩家背包里的物品顺序存储。inventoryDictionary字典提供 查找某个物品的快速方法。 stash / stashDictionary → 存储仓库可能是存放物品的临时存储 stash列表存储 仓库里的物品。stashDictionary字典提供 快速查找仓库中的物品。 首先都是掉落物都是可以拾取的 但作用不同分为不同的种类材料是只能用来消耗装备是可以用来穿脱药品也是可消耗但影响角色的数值 在分出ItemData_Equipment之后这个类里都是共同拥有可穿脱影响角色的数值的方法实现 而在这里分出枚举则是基于常规的游戏的概念设计是一种简单的概念区分而功能依然相同固用枚举达到小范围划分 在 Unity 的 Assets 菜单下 自定义 Create创建 选项让你创建自定义的 ScriptableObject、Prefab、Texture 或其他自定义资源。 using UnityEngine;[CreateAssetMenu(fileName NewItem, menuName Inventory/Item)] public class Item : ScriptableObject {public string itemName;public Sprite icon;public int value; }using UnityEditor; using UnityEngine;public class CustomPrefabCreator {[MenuItem(Assets/Create/Custom Prefab, false, 50)]static void CreatePrefab(){GameObject newObject new GameObject(CustomPrefab);PrefabUtility.SaveAsPrefabAsset(newObject, Assets/NewPrefab.prefab);Object.DestroyImmediate(newObject);} }------------ 每次修改物品数值之后都直接调用这个方法传入item 的info类在slot 上展示如果slot不够了则自动添加新的slot游戏对象到场景然后传入item的info类把item的图片和数量信息来修改自身物体上的 view MVC模式Model-View-Controller TMP 需要额外的 .asset 文件字体资源文件 Unity 提供了自动转换工具 Window - TextMeshPro - TextMesh Pro UGUI Converter一键转换 旧 UI Text → TMP_Text 为什么需要额外的 TMP_FontAsset 文件 传统 Text 直接使用 .ttf / .otfTrueType / OpenType 字体。TMP 需要转换 .ttf / .otf 生成 字体图集Font Atlas TMP_FontAsset 预计算 字符数据渲染时不再依赖外部 .ttf。好处字体加载更快减少性能消耗。 生成 TMP 字体的方式 导入 .ttf / .otf右键 → Create - TextMeshPro - Font Asset生成 TMP_FontAsset*.asset在 TMP 组件里使用这个字体 动态/静态字体模式 TMP 允许创建静态字体预渲染 或 动态字体运行时生成适用于不同项目需求。 TextMeshPro 生成 预计算的字体图集Font Atlas在 GPU 端渲染避免每次动态生成字体。这减少了 Draw Call提高性能特别适用于移动设备。 TMP 使用 Signed Distance Field (SDF) 渲染字体确保字体在缩放时不会模糊或失真。 为什么 Unity 需要 TextMeshPro (TMP) 在 Unity 早期的 UI 设计中默认使用 UI Text即 Text 组件来显示文字它直接依赖于系统字体但有以下问题 字体质量差默认 Text 组件在缩放时字体会变模糊没有清晰的边缘。性能问题Unity Text 组件在 UI 里动态生成字体纹理Font Atlas影响渲染性能。缺少高级排版功能例如富文本、阴影、描边、间距控制等默认 Text 很难实现。 所以Unity 引入了 TextMeshPro (TMP) 作为 替代方案提供更高质量、更强性能的文本渲染。 功能Unity 旧 TextTextMeshPro (TMP)字体清晰度模糊放大失真 清晰矢量字体性能CPU 生成位图低效 GPU 直接渲染优化字体管理排版仅支持基本文本 支持阴影、描边、字距富文本基础 bi 完整富文本 超链接多语言支持仅支持系统字体 可自定义字体资源支持 Unicode --------------------- using UnityEngine; using UnityEngine.UI; using System.Collections.Generic;public class InventoryUI : MonoBehaviour {public GameObject itemSlotPrefab; // 物品 UI 预制体public Transform inventoryPanel; // 背包 UI 父对象public Inventory inventory; // 关联的 Inventory 组件void Start(){UpdateUI();}// 更新 UI 显示public void UpdateUI(){// 清空旧 UIforeach (Transform child in inventoryPanel){Destroy(child.gameObject);}// 遍历背包中的物品foreach (Item item in inventory.items){GameObject slot Instantiate(itemSlotPrefab, inventoryPanel);slot.transform.Find(ItemImage).GetComponentImage().sprite item.itemIcon;slot.transform.Find(ItemQuantity).GetComponentText().text item.quantity.ToString();}} }在 C# 中普通的 class 是不能直接在 Unity Inspector 面板显示的。但是如果你给 类 添加 [System.Serializable]Unity 就能在 Inspector 中显示它的内容。 ------ 所有物品 UI 显示在 Grid Layout 里自动排列在同一地方。UI 和数据分离Inventory 负责数据InventoryUI 负责 UI 动态更新。支持动态添加、合并、移除物品并自动更新 UI。 这样就可以做出一个合理的 背包系统并让多个物体在同一地方显示 public void UseItem(string itemName) {Debug.Log($使用了 {itemName});inventory.RemoveItem(itemName, 1);UpdateUI(); }在 Unity UI 里创建 ItemSlot UI 预制体 ItemImageImage 组件用于显示 物品图标。ItemQuantityText 组件用于显示 物品数量。 在 InventoryUI 中所有的 ItemSlot UI 预制体都实例化在 inventoryPanelGrid Layout里这样它们会整齐排列在 一个 UI 界面例如 Grid Layout Group 在 Canvas 中创建 Panel命名为 InventoryPanel。给 InventoryPanel 添加 Grid Layout Group 组件 Cell Size 调整为合适大小。Spacing 控制间距。Constraint → Fixed Column Count 让物品按列排列。 这样所有 ItemSlot 物品 UI 都会自动排列在一个地方形成一个整齐的背包界面。 ---------------- 用ItemData继承 了ScriptableObject 方案 适用场景影响范围物理性能复杂度Layer-Based 碰撞矩阵适用于全局层级控制全局高效低Collider IsTrigger只想检测但不碰撞仅触发检测高效低Physics.IgnoreCollision仅忽略特定对象间的碰撞局部适中中Physics.IgnoreLayerCollision动态控制整层碰撞忽略整层适中中 玩家的collider---敌人collider不产生碰撞挤压只检测而敌人的collider依然正常检测地形 方法二void OnTriggerEnter(Collider other) {if (other.CompareTag(Enemy)){Debug.Log(检测到敌人但不会发生碰撞);// 在这里处理敌人检测逻辑} } ----------------------- 方法三void Start() {Collider playerCollider GetComponentCollider();Collider enemyCollider GameObject.FindWithTag(Enemy).GetComponentCollider();if (playerCollider enemyCollider){Physics.IgnoreCollision(playerCollider, enemyCollider);} } ----------------------- 方法四void Start() {Physics.IgnoreLayerCollision(LayerMask.NameToLayer(PlayerIgnoreEnemy), LayerMask.NameToLayer(Enemy), true); }基础的 Manager 类型作用例子GameManager管理游戏状态控制分数、关卡、场景AudioManager管理音效播放音乐、控制音量EnemyManager控制敌人生成、删除敌人UIManager负责 UI 交互更新分数、显示 UISceneManager控制场景切换、加载资源 AudioClip randomClip musicClips[Random.Range(0, musicClips.Length)]; audioSource.PlayOneShot(randomClip); Vector3 spawnPosition new Vector3(Random.Range(-10, 10), 0, Random.Range(-10, 10)); Instantiate(enemyPrefab, spawnPosition, Quaternion.identity); Random.InitState(12345); // 设置随机种子保证结果可复现 生成随机旋转 随机粒子效果如爆炸碎片 Vector2 randomPoint Random.insideUnitCircle; // 返回一个在单位圆内的随机点 Vector3 randomPoint Random.insideUnitSphere * 5; // 半径 5 的球体范围内随机点int randomInt Random.Range(1, 10); // 生成 1~9 的整数不包含 10 float randomFloat Random.Range(1.0f, 10.0f); // 生成 1.0~10.0 之间的浮点数包含 10.0 随机敌人生成随机掉落物随机天气、地图随机 AI 行为随机动画、特效 ---------- 对于游戏内技能是否可使用的只是一个简单的对接 这应该是UI部分的管理 我可以把学习的技能拖动到板块区域留下技能的图片然后在使用后保持冷却的动画变化 然后对应到技能拖动的问题上那要如何解决呢 对于skill类的管理每个skill都要有自己的可控开关做到关了就不能使用 多场景同时加载 如果你想让多个游戏共用某些场景比如 UI 场景可以用 LoadSceneMode.Additive SceneManager.LoadScene(NewScene, LoadSceneMode.Additive); 这样 当前场景不会被卸载可以让多个游戏共用 UI、音乐管理器等资源。 ----------------- 适合在一个 Unity 项目里切换多个游戏场景 小游戏合集Mini Game Collection如 WarioWare 游戏内置不同模式如 FPS 竞速 解谜 元宇宙式的游戏多个独立场景但共享数据 但如果是完全不同的游戏比如 FPS 卡牌游戏 2D 平台游戏建议拆分成多个项目开发否则维护成本会很高。 合理划分 Resources 目录不要放太多无关资源 不同游戏可能有不同的游戏机制、UI 交互、输入处理如果全部放在一个项目里可能会导致代码难以维护。 使用 ScriptableObject 作为全局配置管理不同场景的游戏状态。模块化开发 让 每个游戏的核心逻辑封装成独立的 Manager避免不同游戏的代码互相干扰。使用不同的 GameManager每个场景加载时自动激活对应的 GameManager。 ----------- DontDestroyOnLoad 来保留主管理器对象防止每次切换场景都重新初始化所有数据。 每次切换场景 都需要 卸载当前场景再加载新场景如果场景资源太大可能会导致加载卡顿。在移动端或 WebGL大场景切换时可能会触发内存回收GC导致掉帧。 优化方案 异步加载场景SceneManager.LoadSceneAsync() IEnumerator LoadNewScene(string sceneName) {AsyncOperation asyncLoad SceneManager.LoadSceneAsync(sceneName);while (!asyncLoad.isDone){yield return null;} }----------- 每个场景都会加载自己的资源贴图、模型、音频等如果不优化可能会导致大量内存消耗尤其是在场景切换时容易引发卡顿或崩溃。多个游戏共用的资源 可能会重复加载增加RAM 和 VRAM 占用。 优化方案 使用 Addressables 资源管理系统推荐 → 让不同场景的资源按需加载不会一次性占满内存。使用 AssetBundle → 可以让不同场景的资源独立存储减少重复占用。 通过list可以存储键位每一帧按下了什么键进行判断 ---路子选错了--- 单例模式的确保如果在某些情况下场景切换下额外创建了PlayerManager游戏物体那就自我销毁 更需要注意的是我新加的这些代码相对原来的是否会产生影响如果可以则尽量不要影响所以剥离代码在后期设置一个PlayerManager类管理之类的对原来的并不会产生影响 所以这些步骤就看自己的认知是否已经认为这没有问题了 Interpolate插值模式 作用决定该刚体在 每帧更新时的平滑程度用于减少物体运动的“卡顿”或“抖动”。选项 None无插值物体可能会因为 低帧率 造成抖动。Interpolate插值使用上一帧的数据 平滑当前帧的运动适用于 60FPS 以下 的情况。Extrapolate外推使用当前帧的趋势 预测下一帧的运动适用于 极高速度物体。 Collision Detection碰撞检测模式 作用决定 Unity 如何检测该刚体的 碰撞防止物体穿透墙壁或地面。选项 Discrete离散默认值性能高但可能会导致高速移动物体“穿透”其他物体。Continuous连续更精确的碰撞检测适用于 高速物体如子弹、投掷物。 当前值Continuous适用于防止物体在高速运动时“穿透”其他物体 Mass物体质量1默认质量 Linear Drag线性阻力空气阻力0无额外空气阻力 Angular Drag角阻力旋转阻力0.05微小旋转阻力 Gravity Scale重力缩放3.5比标准重力更快下落 Simulated是否启用物理 作用勾选后该刚体会参与物理计算否则会被 Unity 忽略即使它有碰撞体。适用场景 动态开关物理效果如切换“暂停”状态。临时禁用物理计算 以提高性能。 当前值✅启用物理表示该物体的物理计算是生效的。 Material物理材质 作用控制该刚体的 摩擦力 和 弹性反弹。默认值None即没有特殊物理材质。 如果想要增加弹性或摩擦力可以分配一个 Physics Material 2D。 Body Type刚体类型 作用决定刚体的 物理行为。选项 Dynamic动态该物体受 物理引擎 控制重力、碰撞、外力影响。Kinematic运动学不受物理引擎影响只能通过代码 transform.position 或 Rigidbody2D.MovePosition() 进行移动。Static静态不会移动适用于 地面、墙壁 等固定物体。 当前值Dynamic表示该物体会受 重力 和 外力 影响可以与其他刚体发生碰撞。 Enemy是entity的子类都是从Player里剥离出来的逻辑但这也并没有限制住Enemy都必须继承这个类对于特殊机制的BOSS和精英怪什么的完全可以直接写出Enemy2Enemy3等等是延续了可改性的 本来一直以为继承和多态这些东西都是要提前规划好非常细致的规范才可以起作用看了Alex Dev做这个游戏对重写和继承的使用才发现也可以是灵活的反向剥离的妙 Python 在 Python 里elif 就是 else if 的缩写 .strip() 是一个字符串方法它会去掉字符串两边的空格、换行符等无效字符。 text Hello, Python! print(text.strip()) # 去掉前后空格在 Python 的 in 关键字 检查字典时它默认检查 键key 是否存在 choices {剪刀: 1, 石头: 0, 布: 2}print(剪刀 in choices) # ✅ True print(剪刀 in choices.keys()) # ✅ True print(1 in choices) # ❌ False 因为 1 不是键而是值 print(1 in choices.values()) # ✅ True
http://www.w-s-a.com/news/599674/

相关文章:

  • 中山网站建设半江红沈阳免费网站建站模板
  • 工信部网站备案管理系统网站备案负责人 更换
  • 我要做个网站该怎么做怎么做电商平台网站
  • wordpress教程 网站标题莱芜大众网
  • 网站建设业务终止合作范本主机公园wordpress
  • 口碑好企业网站建设网站建设与什么专业有关
  • 助贷获客系统快速优化排名公司推荐
  • 重庆做网站优化推广的公司企业网站如何进行定位
  • 高密市赏旋网站设计有限公司山东广饶县建设局网站
  • 成都哪里有网站开发公司网业分离是什么
  • 购物导购网站开发女孩学建筑学好找工作吗
  • 做网站沈阳掌握夏邑进入公众号
  • 怎么做自动提卡网站谷歌推广怎么做
  • 大同网站建设熊掌号wordpress 首页单页
  • 青岛网站美工成都优秀网站建设
  • 聊城大型门户网站建设多版本wordpress
  • 建网站的公司 快云wordpress的搜索
  • 贷款网站模版东莞网站建设哪家专业
  • 做做网站已更新878网站正在建设中
  • dz旅游网站模板网站上做百度广告赚钱么
  • 青岛外贸假发网站建设seo优化名词解释
  • 四川建设厅网站施工员证查询网站建设行业政策
  • 网站全站出售dw怎么设计网页
  • 合肥网站建设方案服务网站建设推荐郑国华
  • 襄阳网站建设需要多少钱台州网站设计公司网站
  • 东莞专业拍摄做网站照片如何在百度上发布自己的广告
  • 网站建设费 科目做网站建设最好学什么
  • php商城网站建设多少钱深圳市建设
  • 有什么做糕点的视频网站黄岛做网站
  • 做视频课程网站建设一个普通网站需要多少钱