- 博客(53)
- 收藏
- 关注
原创 IntersectionObserver重叠观察者
IntersectionObserver重叠观察者用于观察两个元素是否重叠,只要被观察元素(目标元素) 与根元素交叉位置发生变化就会执行回调。使用步骤1.创建new IntersectionObserver(callback,options)2.传入被观察者ob.observe(targetElement)
2024-10-23 18:18:11 384
原创 Unity 2D让相机跟随角色移动
在Tilemap添加Composite Collider 2D组件可提升性能会将同一区域的对撞机合并为一个,Tilemap Collider 2D下选中由复合使用。此时会自动添加一个Rigidbody 2D组件。组件,在层级中创建一个新的游戏对象命名为GameConfiner添加Polygon Collider 2D组件,此时场景中会出现一个多边形拖拽线将场景包围。在层级中点击Tilemap,在检查器中添加Tilemap Collider 2D组件,此时就会给地图所有精灵添加对撞机,人物将不能移动。
2024-04-14 00:41:36 945
原创 nuxt.config.js配置
中配置的预设将应用于客户端和服务器构建。目标将由 Nuxt 相应地设置(客户端/服务器)。如果要为客户端或服务器版本配置不同的预设,请使用。预设在构建客户端/服务端的版本。中可用的键分开, 它们是。
2024-04-13 23:19:24 458
原创 Unity让地图素材遮挡人物
点击编辑/项目设置/图形,透明度排序模式设置自定义轴,透明度排序轴Y设置为1其他为0。此时人物和地图素材的图层排序相等,当人物的高度大于地图素材时,人物则被遮挡。
2024-04-13 22:59:58 359
原创 Unity给地图物体添加对撞机
此时移动人物碰到碰撞机时有可能会抖动,因为之前角色移动使用的是Transform,添加了刚体使用的是物理移动,在不停的矫正。此时需要将Transform移动改为刚体移动。选择素材,在检查器中点击添加组件Box Collider 2D,将素材拖入Prefabs文件下添加预制文件可批量添加对撞机。选择素材拖入层级下,注意此时地图素材有可能看不到,此时选择Tilemap在检查器中修改图层顺序调至最低。在层级下选中人物,在检查其中添加Box Collider 2D,Rigdbody2D组件。
2024-04-13 22:50:57 257
原创 Unity绘制地图
如果素材需要裁剪,在检查器Sprite模式选择多个,点击Sprite Editor,选择切 ,选择类型Grid By Cell Count,根据需求选择行列张数。接着点击窗口选择2D平铺色板,选择Create New Palette 创建一个色板文件保存到Tiles文件夹下。将裁剪好的素材拖入 调色板,在工具中找刷笔,点击层级下Grid,在调色板中选中一张素材用刷笔在场景中印刷。在层级下点击鼠标右键选择2D对象选择瓦片地图创建Tilemap。如果素材不够沾满一格,点击素材在检查器中修改每单位像素数。
2024-04-13 22:26:53 429
原创 async await
将一个函数加上async就表示这是一个异步函数,返回的结果是一个Promise。返回的异步结果,需要等到函数内所有await后面的异步状态改变完毕,返回。,会等到这个异步的状态改变才会继续执行函数后续的代码。就会执行await后面的代码,一般后面是一个。转台改变为reject都会阻断函数的执行。引用阮一峰老师的错误处理方式。函数内部抛出的错误会被。函数执行的时候,遇到。
2023-10-19 19:42:08 180
原创 offsetWidth、clientWidth、scrollWidth的区别
scrollWidth的宽包括:content、padding、hideContent。offsetWidth的宽高包括:content、padding、border。clientWidth的宽高包括:content。
2023-09-26 16:37:25 180
原创 禁止扩展对象
这个方法实际上会在现有的对象上调用Object.preventExtensions,除了不可添加新的属性还不可以配置属性、删除属性。这个属性会创建一个冻结对象,会在现有的对象上调用Object.seal并把 所有的属性标记为writable:false,无法修改它们。preventExtensions禁止向对象添加新的属性(可以配置、修改属性、删除属性)在我们创建一个普通对象时,对象的属性都具有隐藏的属性描述符。configurable决定这个属性是否可配置。writable决定是否可以修改属性的。
2023-09-18 09:48:09 243
原创 JS对象判空
第一种:Object.getOwnPropertyNames() 获取自身对象中所有的属性名,但是不包含Symbol!返回一个数组,不论属性描述符是否是可枚举的。第三种:JSON.stringify() 序列化一个对象,返回自身对象中所有可枚举的属性名,但是不包含Symbol。第四种:in 查找自身对象或对象的原型[prototype]中某一个可枚举的属性名,但是不包含Symbol。第二种:Object.keys() 获取自身对象中所有可枚举的属性名,但是不包含Symbol。依综上所述推荐第五种。
2023-08-20 18:01:46 251
原创 内容动态展示抽屉组件
mousemove与mouseenter的区别在于mousemove会触发事件冒泡,mouseenter不会,mouseleave同理。mousemove会触发事件冒泡,因此鼠标在范围区域内移动时会一直触发。mouseenter只触发一次,鼠标移入后触发,鼠标移出后不再触发。
2023-08-07 14:44:12 137
原创 vuex操作流程
2. ...mapMutations('文件名',['方法名']),this.$store.commit('文件名/方法名',值)
2023-06-12 10:59:39 88
原创 函数递归执行顺序
函数调用时会在内存中形成一个调用记录又称“调用栈”,用来保存函数的执行位置变量等信息,并开辟一块新的执行环境,函数执行完毕销毁执行环境并出栈。递归函数执行时,函数的每一次调用都会依次进入调用栈,按照后进先出的原则依次出栈。一:首先了解函数的执行。
2023-03-24 13:56:49 978
原创 VUE图片轮播TABS
当向右点击时active加等于1,判断active乘以li的宽是否大于等于ul的宽,如果大于moveI加等于1,让ul移动,移动的距离是li的宽乘以moveI。当active小于0时,让active等于list.length-1,让moveI等于list.length-1减去展示图的数量showNum。获取一个li的宽度,获取ul的宽度,记录一个移动下标值moveI,设置一个当前下标active。ul的宽度是固定的。当向左点击是active减等于1,moveI也跟着减等于1。moveI不能小于0。
2023-03-18 15:12:47 175
原创 uniapp图像裁剪
第二步:计算基准框大小,设置预览图片基准值。第四步:获取屏幕宽高,绘制蒙层。第三步:预览图片宽高处理。第六步:预览图拖拽处理。第一步:拿到图片信息。
2023-02-27 17:34:34 4270 2
原创 js拖拽分类
拖拽事件执行顺序:dragstart dragenter dragover dragleave dragenter dragover drop dragend。
2023-02-03 13:45:13 169
原创 VUE图像裁剪小工具
预览区域宽高处理:图片尺寸大小分为三种,宽大于高、高大于宽、宽高相等。宽大于高或者宽高相等处理方式,宽度计算公式:宽除以高乘以宽度基准值,高度固定。第三步:鼠标移动预览区域,预览裁剪同步处理。预览裁剪同步处理,通过getImageData方法将预览区域图像同步到裁剪区域。第四步:裁剪,获取裁剪区域canvasDOM,通过putImageData方法将获取到的预览区域图片信息绘制到裁剪区域。第五步:下载,通过toDataURL获取裁剪区域图片信息,通过fetch方法将获取到的图片URL信息转换为blob。
2023-01-30 11:22:09 944
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人