Cocos Creator 使用VSCode编译后自动刷新预览
环境:Cocos Creator 3.7.2Visual Studio Code 1.78.1官方详细教程:跳转 在 Creator 顶部菜单栏点击 开发者 -> Visual Studio Code 工作流 -> 添加编译任务,该操作会在项目根目录的 .vscode 文件夹下添加 tasks.json 任务配置文件。 在 VS Code 里按下快捷键 Ctrl + P, 输入 task Cocos Creator compile,选择 Cocos Creator compile 回车确认。 首先需要确保操作系统中可以运行 curl 命令,如果在 Windows 操作系统的命令行中运行 curl 提示找不到命令,则需要先安装 curl 到操作系统:下载地址 curl : 无法分析响应内容,因为 Internet Explorer 引擎不可用,或者 Internet Explorer 的首次启动配置不完整。请指定 UseBasicParsing 参数,然后再试一次。 任务运行完成,VS Code...
计算机信息管理课程实验 C++篇
一、环境搭建 开发工具:vc++6.0,Visual Studio Community 2022版本(推荐) vc++6.0: 文件 - 新建 - 工程 - Win32 Console Application - 输入工程名称 - 确定 文件 - 新建 - 文件 - C++ Source File - 输入文件名 - 确定 VS: 下载c++桌面应用支持包 创建新项目 - 控制台应用 - 下一步 - 输入名称 - 创建 以下为了同屏看到更多代码,选择省略了函数间的空白行、一行实现某些函数等,参考本文代码的同时,请务必保持良好的代码规范! 二、编程练习 定义盒子Box类,要求具有以下成员:长、宽、高分别为x、y、z,可设置盒子形状;可计算盒子体积;可计算盒子的表面积。 #include<iostream> using namespace std; class Box { public: // 构造函数 Box(){}; // 带参数的构造函数 Box(double a, double b, double...
Python 使用 openpyxl 模块解析 Excel
简介openpyxl是Python的一个第三方模块,它可以用来读取和修改Excel文件。 安装安装openpyxl模块可以使用pip命令: pip install openpyxl 基础用法打开表格import openpyxl as xl wb = xl.load_workbook("example.xlsx") # 打开表格 注意:打开时要确保文件是关闭状态。 读取sheetsheet = wb["Sheet1"] # 通过名称获取sheet sheet = wb.active # 获取当前活动的工作表 get_sheet_by_name方法已弃用,建议使用wb[sheet_name]。 创建sheetwb.create_sheet("Sheet2", 2) # 在索引2的位置创建Sheet2 读取表格value = sheet.cell(row=1, column=2).value # 读取第1行第2列的值 写入表格sheet.cell(row=1, column=2, value="测试") #...
Unity UGUI 绘制多边形属性图
效果图 关于OnPopulateMesh当一个UI元素生成顶点数据时,会调用OnPopulateMesh(VertexHelper vh)函数,我们可以覆写这个函数,来达到修改顶点数据或获取顶点数据。其中用到的方法: 方法名称 作用 Clear 清除流中的所有顶点 AddVert 向流中添加单个顶点 AddTriangle 向缓冲区添加一个三角形 思路: 清空所有顶点信息 添加4个顶点(0, 1, 2, 3) 添加三角形 (0, 1, 2), (0, 2, 3), (0, 3, 1) 源码using UnityEngine; using UnityEngine.UI; public class UIPropWidget : Graphic { /// <summary> /// 放大倍数 /// </summary> public int Mul = 100; /// <summary> /// 旋转值 /// </summary> ...
Unity Shader 之 UV
Unity Shader 之 UV 详解什么是 UV?UV 是纹理坐标的简称,用于将2D纹理映射到3D模型上。在 Unity Shader 中,UV 坐标通常表示为 (u, v),其中 u 和 v 的范围是 [0, 1]。UV 坐标决定了纹理的哪一部分会被渲染到模型的特定位置。 UV 的使用场景 纹理映射:通过 UV 坐标将纹理贴图应用到模型表面。 动画效果:通过动态调整 UV 坐标实现纹理滚动、缩放等动画效果。 遮罩效果:使用 UV 坐标结合遮罩纹理实现复杂的材质效果。 示例代码以下是一个简单的 Unity Shader 示例,展示了如何使用 UV 坐标进行纹理映射: Shader "Custom/UVShader" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } ...
Unity Shader 之 TRANSFORM_TEX
TRANSFORM_TEX 宏详解TRANSFORM_TEX 是 Unity Shader 中常用的宏,用于将 UV 坐标与纹理的缩放和平移变换结合。其定义如下: #define TRANSFORM_TEX(tex, name) (tex.xy * name##_ST.xy + name##_ST.zw) 参数说明 tex: 输入的 UV 坐标。 name: 纹理的名称,例如 _MainTex。 使用示例以下是一个简单的 Shader 示例,展示了如何使用 TRANSFORM_TEX 宏: Shader "Custom/ExampleShader" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Pass { CGPROGRAM #pragma vertex vert ...
Unity Shader 之 clip
介绍在Unity Shader中,clip函数用于根据条件丢弃像素。它通常用于实现透明效果或裁剪特定区域的像素。当clip函数的参数小于0时,当前像素将被丢弃,不会渲染到屏幕上。 例子以下是一个简单的Shader代码示例,展示了如何使用clip函数来裁剪像素: Shader "Custom/ClipExample" { SubShader { Tags { "RenderType"="Opaque" } Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; }; ...
Unity Shader 之 dot
简介在Unity Shader编程中,dot操作(点积)是一个非常重要的数学运算。它主要用于计算两个向量之间的夹角,或者判断两个向量的方向关系。点积运算在光照计算、法线处理、阴影生成等Shader效果中都有广泛应用。 原理点积的数学定义是两个向量对应分量相乘后再相加。在Shader中,我们可以使用内置的dot函数来计算两个向量的点积。点积的结果可以反映两个向量的方向关系: 如果点积大于0,表示两个向量的方向大致相同 如果点积等于0,表示两个向量垂直 如果点积小于0,表示两个向量的方向大致相反 应用 光照计算:通过计算表面法线和光照方向的点积,可以得到光照强度 法线贴图:使用点积计算切线空间和世界空间的转换 阴影生成:通过点积判断表面是否处于阴影区域 边缘检测:利用点积计算相邻面的法线夹角,实现边缘高亮效果 示例下面是一个简单的Shader代码示例,展示了如何使用dot操作计算漫反射光照: Shader "Custom/DiffuseShader" { Properties { _MainTex ("Texture", 2D) =...
Unity UGUI 简单实现拖拽
前言Unity UI系统提供了丰富的控件,但有时我们需要实现一些比较简单的效果,比如拖拽。拖拽功能在游戏开发中非常常见,例如实现可拖动的窗口、可移动的按钮或可调整位置的UI元素。本文将详细介绍如何在Unity UGUI中实现拖拽,并提供优化建议和实际应用案例。 实现步骤首先新建脚本DragUI,挂在要拖动的UI上, DragUI实现IPointerDownHandler,IDragHandler接口。 IPointerDownHandler:鼠标或者触摸点击时回调。IDragHandler:鼠标或触摸拖拽时回调。 实现代码: using UnityEngine; using UnityEngine.EventSystems; public class DragUI : MonoBehaviour, IDragHandler, IPointerDownHandler { private Vector2 offsetPos; //临时记录点击点与UI的相对位置 public void OnDrag(PointerEventData...
Python 使用 xlrd 模块解析 Excel
简介xlrd是Python的一个第三方模块,用于读取Excel文件。它支持xls格式,但自1.2.0版本起不再支持xlsx格式。对于xlsx文件,建议使用openpyxl模块。 安装1. 使用pip安装pip install xlrd 基础用法1. 导入模块import xlrd 2. 打开文件data = xlrd.open_workbook("example.xls") # 打开Excel文件 3. 获取工作表sheet = data.sheet_by_index(0) # 根据索引获取工作表 sheet = data.sheet_by_name("Sheet1") # 根据名称获取工作表 sheet_names = data.sheet_names() # 获取所有工作表名称 4. 数据类型xlrd支持以下数据类型: 0: empty 1: string(text) 2: number 3: date 4: boolean 5: error 6: blank 5. 行操作row_length = sheet.nrows #...
UnityEditor 检测预设引用图集数
功能介绍本工具用于检测预设文件引用的图集数量,并在引用图集数量超过3个时输出警告。 使用方法 在Unity编辑器中,右键点击任意资源文件。 选择菜单项Assets/检测预设引用图集数。 工具将自动扫描Assets/Res/UI和Assets/Res/Misc目录下的预设文件,并输出引用图集数量超过3个的预设。 代码说明 CheckSpriteatlasCount: 主方法,负责遍历预设文件并调用检测逻辑。 UpdateProgressBar: 更新进度条显示,提供更好的用户体验。 CheckAtlasCount: 检测预设文件引用的图集数量,并在超过3个时输出警告。 代码实现[MenuItem("Assets/检测预设引用图集数", priority = 104)] static public void CheckSpriteatlasCount() { string[] ids = AssetDatabase.FindAssets("t:Prefab", new string[] { "Assets/Res/UI",...
UnityEditor 九宫格图片裁剪
背景介绍九宫格图片(9-slice...







