首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Cocos Creator 源码解读:siblingIndex 与 zIndex

我们经常会需要「改变节点的排序」来完成一些效果(如图像的遮挡)。 A Question? 你有没有想过: 节点的排序是如何实现的? Oops!...在多数情况下,「修改节点的 zIndex 属性会使其 setSiblingIndex 函数失效」。 这无形中增加了编码时的心智负担,也增加了问题排查的难度。...我的建议是: 「少用甚至不用 zIndex,而优先使用 siblingIndex 相关函数。」 听皮皮一句劝,zIndex 的水太深,你把握不住!...》 《用 Shader 写个完美的波浪》 《在 Cocos Creator 中优雅且高效地管理弹窗》 《JavaScript 内存详解 & 分析指南》 《Cocos Creator 编辑器扩展:Quick...Finder》 《JavaScript 原始值与包装对象》 《Cocos Creator 源码解读:引擎启动与主循环》 --- 公众号 菜鸟小栈 我是陈皮皮,一个还在不断学习的游戏开发者,一个热爱分享的

2.6K20

前端水印生成方案

这里我们用canvas来生成base64图片,通过CanIUse网站查询兼容性,如果在移动端以及一些管理系统使用,兼容性问题可以完全忽略。...使用MutationObserver构造函数,新建一个观察器实例,实例的有一个回调函数,该回调函数接受两个参数,第一个是变动数组,第二个是观察器实例。...节点(一种抽象接口,具体可以为文本节点,注释节点,以及处理指令节点)时,也要观察该节点的文本内容是否发生变化,则设置为true. subtree 除了目标节点,如果还需要观察目标节点的所有后代节点(观察目标节点所包含的整棵...,其他名称的属性发生变化后会被忽略....因此最终改造之后代码为:   (function () {      // canvas 实现 watermark      function __canvasWM({        // 使用 ES6 的函数默认值方式设置参数的默认取值

7.2K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    TypeScript:React、拖拽、实践!

    前一篇文章我们讲过,ts的规则能够描述一个简单的变量,能够描述一个复杂的JSON数据,能够描述函数,也能够描述对象class。...配图来自官方文档 类型检查 这部分内容可能会难理解一点,大家不必强求现在就掌握,以后再说也OK 我们在实际使用过程中,经常会遇到组件类型兼容性的错误,甚至也看不太明白报错信息在说什么。...基于值的元素会简单的在它所在的作用域里按标识符查找。 // demo来自官方 import MyComponent from "....由于这两种基于值的元素在 JSX 表达式里无法区分,因此 TypeScript首先会尝试将表达式做为函数组件进行解析。...「函数组件」 正如其名,组件被定义成 JavaScript 函数,它的第一个参数是 props 对象。TypeScript 会强制它的「函数执行的」返回值可以赋值给 JSX.Element。

    2.3K10

    Cocos Creator 源码解读:siblingIndex 与 zIndex

    我们经常会需要「改变节点的排序」来完成一些效果(如图像的遮挡)。 A Question? 你有没有想过: 节点的排序是如何实现的? Oops!...我最先想到的是节点的 setSiblingIndex 函数,然后是节点的 zIndex 属性。 我猜大多数人都不清楚这两个方案有什么区别。 那么接下来就让我们深入源码,一探究竟!...在代码中修改节点顺序的方法主要有两种: 修改节点的 zIndex 属性 通过 setSiblingIndex 函数设置 无论使用以上哪种方法,最终都会「通过 zIndex 和 siblingIndex...在多数情况下,「修改节点的 zIndex 属性会使其 setSiblingIndex 函数失效」。 这无形中增加了编码时的心智负担,也增加了问题排查的难度。...我的建议是: 「少用甚至不用 zIndex,而优先使用 siblingIndex 相关函数。」 听皮皮一句劝,zIndex 的水太深,你把握不住!

    1.5K20

    vue2升级vue3: h、createVNode、render、createApp使用

    h 函数是什么h 函数本质就是 createElement() 的简写,作用是根据配置创建对应的虚拟节点,在vue 中占有极其重要的地位!在Vue2中,有个全局API:render函数。...Vue内部回给这个函数传递一个h函数,用于创建Vnode的描述对象。在Vue3中。将h函数独立出来,作为一个单独的API,它的作用仍保持原样:用于创建一个描述所渲染节点的Vnode描述对象。...javascript相较于模板语法,有更高的自由度。当使用模板太过臃肿的时候,比如多个if/else,就可以使用渲染函数h。h 函数的配置接收三个参数:type,props 和 children。...emit('start')    onStart(data) {        console.log(data);    },})Vue3 中 h 函数如何使用指令v-show指令通过map返回的Vnode,每一个都是不同的对象v-on直接 如Click,直接加上on,变为onClick 帮道到 props 属性里面即可render() {    return h(

    4.2K10

    vue中的几个高级概念

    /directive.js'组件中使用指令需要用 v- + 指令名 方式引用参考vue实战视频讲解:进入学习指令的钩子函数一个指令定义对象可以提供如下几个钩子函数...但是你可以通过比较更新前后的值来忽略不必要的模板更新 (详细的钩子函数参数见下)。componentUpdated:指令所在组件的 VNode 及其子 VNode 全部更新后调用。...unbind:只调用一次,指令与元素解绑时调用。指令钩子函数会被传入以下参数:el:指令所绑定的元素,可以用来直接操作 DOM。...JavaScript 函数,因此可以 接收参数{{ btn | btnFilter('arg1', 'arg2')}}这里的 btnFilter 相当于是接收三个参数的函数,其中 btn 为第一个参数...如果过渡组件提供了 JavaScript 钩子函数,这些钩子函数将在恰当的时机被调用。

    72020

    在.NET MAUI中复刻苹果Cover Flow

    Cover Flow是iTunes和Finder中的一个视图选项,允许用户使用水平滚动的图像查看他们的音乐库或文件。...在Skia中,3D变换是通过矩阵乘法实现的,这里需要大致了解数字图像处理的基本知识,可以参考这里。 矩阵乘法就是把原始图像矩阵的横排和变换矩阵的竖排相应位相乘,将结果相加。...在二维空间,原始图像中的每个像素点 (x,y) 所代表的单列矩阵,通过变换矩阵相乘,得到新的像素点 (x',y')。...例如缩小图像: 因为要考虑平移等非线性计算,常用3*3的矩阵来表示变换 在三维空间,用一个4*4的矩阵来表示变换,例如围绕Y轴旋转的变换矩阵如下: | cos(α) 0 –sin(α) 0...代码忽略。 创建绑定数据 创建MainPageViewModel.cs,用于界面绑定数据源。

    34130

    javascript 寻找当前页面中最大的 z-index 值的方法

    javascript 寻找当前页面中最大的 z-index 值的方法 我们在写类似 toast 这样的组件的时候,会希望我们的弹出层在当前页面的最上层,也就是说,希望 z-index 值为最大。...window.getComputedStyle(__DOM__).zIndex 这样,我们就可以拿到元素的 z-index 值了。..._).zIndex || 0 ?...num1 : num2} ) reduce 方法是一个比较高级的方法,它会把数组序号 0 的值和数组序号 1 的值用自定义的函数进行计算,然后将返回的结果,和数组序号 3 的值再次进行自定义函数的计算,...上面的代码就是一个简单的对比函数。 至于其他 for 循环,以及排序方法就不赘述了。 好,两个本质问题解决,下面我们来组装代码。

    2.4K40

    vue一些高级概念

    /directive.js'复制代码组件中使用指令需要用 v- + 指令名 方式引用复制代码指令的钩子函数一个指令定义对象可以提供如下几个钩子函数...但是你可以通过比较更新前后的值来忽略不必要的模板更新 (详细的钩子函数参数见下)。componentUpdated:指令所在组件的 VNode 及其子 VNode 全部更新后调用。...unbind:只调用一次,指令与元素解绑时调用。指令钩子函数会被传入以下参数:el:指令所绑定的元素,可以用来直接操作 DOM。...JavaScript 函数,因此可以 接收参数{{ btn | btnFilter('arg1', 'arg2')}}复制代码这里的 btnFilter 相当于是接收三个参数的函数,其中 btn 为第一个参数...2.如果过渡组件提供了 JavaScript 钩子函数,这些钩子函数将在恰当的时机被调用。

    67640

    手把手教你用JavaScript打造一个网页搜索引擎

    一、前言 小编之前带着大家一起做过一个python版的搜索引擎,今天带大家做一个JavaScript版的搜索引擎。 二、准备工具 360浏览器,sublime text 3编辑器,仅此而已。...4.查询结果 我们输入查询关键词后,还要获取到它有哪些待定的选项,这里就要搞清楚查询选项有哪些,如图: 5.实现代码 我们可以先创建一个能够动态生成JavaScript代码的函数,如下: function...$(this).val(); if(wd==''){ $('ol').css('display','none'); $('ol').css('zIndex...',-10); }else{ $('ol').css('display','block'); $('ol').css('zIndex',20);...五、总结 本篇文章主要讲的就是如何使用JavaScript动态生成一个JavaScript脚本进而可以利用它来访问百度的搜索服务,可能说的有点绕口,不过这个的确就是前端跨域的一种很有效的解决方式。

    99920
    领券