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

cocos2d-x 3.0 NodeNode层级结构

其中主要可以看到Layer、MenuItem、Scene、Sprite、TMXTiledMap(解析and渲染TMX地图)、ParticleSystem(粒子系统基类)等等 Node是这些类的根类 节点的基本操作...* node=node->getChildByTag(tag) node->removeChildTag(tag,true)删除子节点,并停止所有该节点的一切动作 node->removeChild(...(true) 从父Node中删除节点,并停止所有该节点的一切动作 Node的重要属性 anchorPoint锚点 锚点指定了贴图上和所在节点原点(也就是设置位置的点) 锚点的默认值是(0.5,0.5...改变锚点的值虽然可能看起来节点的图像位置发生了改变,但其实并不会改变节点的位置,其实变化的只是贴图相对于你设置的位置的相对位置,相当于你移动节点里面的贴图,而非节点本身。...如果需要场景中的精灵运动起来,我们可以游戏循环中使用定时器(Schedule)对精灵等对象的运动进行调度,因为Node类封装了Schedule类,所以我们也可以直接使用Node中调用函数 Node中调用函数主要有

66650

HT for Web列表和3D拓扑组件的拖拽应用

浏览器看不到任何东西,那么接下来我们就该把我们定义的数据添加到List组件上了: products.forEach(function(product){    var data = new ht.Data...属性,创建Data,并没有对Data设置displayName或者name属性,所以这个时候页面上看到的还是一个空的List组件,别急,我们可以不设置displayName或name属性的情况下让组件显示效果图上的文本内容...between状态,通过ht.Default.containedInView()方法判断殿前鼠标是否3D拓扑组件; 2....若当前鼠标图元的某个表面上,则先保存该图元表面信息的贴图,然后设置当前图元表面的贴图为拖拽节点对应的图片,最后将当前图元表面信息缓存下来,当鼠标离开该表面,还原图元的贴图; 4....end状态,如果当前鼠标位置某个图元表面,就将当前拖拽节点的对应的图片做为当前图元表面的贴图

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

HT for Web列表和3D拓扑组件的拖拽应用

浏览器看不到任何东西,那么接下来我们就该把我们定义的数据添加到List组件上了: products.forEach(function(product){ var data = new ht.Data...属性,创建Data,并没有对Data设置displayName或者name属性,所以这个时候页面上看到的还是一个空的List组件,别急,我们可以不设置displayName或name属性的情况下让组件显示效果图上的文本内容...between状态,通过ht.Default.containedInView()方法判断殿前鼠标是否3D拓扑组件; 2....若当前鼠标图元的某个表面上,则先保存该图元表面信息的贴图,然后设置当前图元表面的贴图为拖拽节点对应的图片,最后将当前图元表面信息缓存下来,当鼠标离开该表面,还原图元的贴图; 4....end状态,如果当前鼠标位置某个图元表面,就将当前拖拽节点的对应的图片做为当前图元表面的贴图

1K60

基于 HTML5 Canvas 的 3D 模型列表贴图

少量图片对于我们赋值是没有什么难度,但是如果图片的量大的话,我们肯定希望能很直接地显示界面上供我们使用,再就是排放的位置等等,这些都需要比较直观的操作,实际应用中会让我们省很多力以及时间。...,如果不存在,则返回-1 } return true; });  第三个部分,右侧 3d 场景,利用的是 HT 的三维组件 ht.graph3d.Graph3dView,然后 3d 场景添加两个节点...作为贴图。...组件之上,一般用于Drog And Drop的拖拽操作判断 //这边做了两个判断,一个是鼠标拖拽的时候未松开,一个是鼠标拖拽的时候松开了。...if(lastFaceInfo){//鼠标未松开的情况下,贴图显示旧值 //data.face 默认值为front,图标3D下的朝向,可取值left|right|top

1.4K100

这可能是你需要的React实战技巧_2023-03-15

这里只是演示了一个简单的 firstname + lastname 例子,实际是不需要考虑优化的,因为本身 memoize 也是要执行比较逻辑,当入参数非常复杂,这样优化其实是得不偿失的,所以具体情况要具体分析...三、实现一个弹窗组件(toast/modal/dialog)你可以看到不管 antd(react) 还是 element(vue) 中的弹窗组件都是渲染在 document.body 的,而非当前组件所对应的...不销毁会导致性能等问题 */ ReactDOM.unmountComponentAtNode(node) // 卸载 react 组件 document.body.removeChild...() // render 之后调用实例中的 show 方法 **/ // 因为未来的 react 中,组件渲染又可能是异步的,所以不建议直接使用 render 返回的实例,应该用下面方式 ReactDOM.render...(node) const handleClose = function () { ReactDOM.unmountComponentAtNode(node) document.body.removeChild

75940

Node.js v15.x 新特性 — 控制器对象 AbortController

Node.js v15.0.0 提供了一个全局实用 API AbortController,用于选定的基于 Promise API 中发出取消信号。...下面是一个示例, 1 秒后会执行 ac.abort() 方法,将会触发 abort 事件,并且仅会触发一次,这可通过 abortSignal.aborted 属性查看前后改变状态。...中我们可以选择使用 node-fetch 这个请求处理库,传递 signal 给 fetch。...Node.js 中目前并没有 DOMException 这个类,我们无法这样做 new DOMException('task handler failed', 'AbortError') 所以我刚开始先创建了一个...Node.js 中已经有一些异步 API 支持传递 signal,但是它的 DOMException 错误也是在内部通过封装来实现的: // https://github.com/nodejs/node

1.3K40

这可能是你需要的React实战技巧

这里只是演示了一个简单的 firstname + lastname 例子,实际是不需要考虑优化的,因为本身 memoize 也是要执行比较逻辑,当入参数非常复杂,这样优化其实是得不偿失的,所以具体情况要具体分析...三、实现一个弹窗组件(toast/modal/dialog)你可以看到不管 antd(react) 还是 element(vue) 中的弹窗组件都是渲染在 document.body 的,而非当前组件所对应的...不销毁会导致性能等问题 */ ReactDOM.unmountComponentAtNode(node) // 卸载 react 组件 document.body.removeChild...() // render 之后调用实例中的 show 方法 **/ // 因为未来的 react 中,组件渲染又可能是异步的,所以不建议直接使用 render 返回的实例,应该用下面方式 ReactDOM.render...(node) const handleClose = function () { ReactDOM.unmountComponentAtNode(node) document.body.removeChild

77610

Vue SEO的四种方案

on ‘Node’: This node type does not support this method. at Object.We [as appendChild] 根据github nuxt的...2.Nuxt 静态应用部署 Nuxt.js 执行 generate 静态化打包,动态路由会被忽略。...无需使用 web 服务器实时动态编译 HTML,而是使用渲染方式,构建 (build time) 简单地生成针对特定路由的静态 HTML 文件。...// 这个目录只能有一级,如果目录层次大于一级,在生成的时候不会有任何错误提示,渲染的时候只会卡着不动。...优势: 改动小,引入个插件就完事; 不足: 无法使用动态路由; 只适用少量页面的项目,页面多达几百个的情况下,打包会很很很慢; 4.Phantomjs 针对爬虫做处理 Phantomjs是一个基于webkit

3K30

React:像message.success()一样实现Message通用容器及Message组件

开发不紧急的时候喜欢自己实现一些轮子;而这次要做的就是做一个非常常用的组件Message 对于Message这样的组件各个页面都有可能使用到。...组件实现 自动挂载组件 说到自动挂载,我的思路是导入Message的时候自动运行挂载组件的代码,那我的想法是立即执行函数 (function initModalContainer() { let...node节点外层包一层组件,我们控制这层组件实现动画 这里其实我遇见了一个问题: 由于hook函数中的useState是异步操作,而且不像setState一样提供了回调,那么当我们进行多次类似message.success...() removeChild()要根据addChild()传出的key先在活动消息列表中删除该消息完成动画,动画结束后对应地nodeList中删除这个node const removeChild =...(key) } } 组件使用 我们上边构建了messageSuccess和messageSuccessConfig,使用Message组件也和我们一开始想的一样简单 messageSuccess

1.2K20

基于 HTML5 WebGL 智能城市的模拟运行 顶

但如果父容器是原生的 html 元素, 则 HT 组件无法获知需要更新,因此最外层的 HT 组件一般需要监听 window的窗口大小变化事件,调用最外层组件 invalidate 函数进行更新。...环境光贴图:将贴图影像渲染在场景中,通过 node.s('envmap', 0.5) 来设置节点的渲染程度,主要用于地板添加物体倒影效果,也可像本 demo 一样添加星光点缀。...右图中环境光贴图为星光,城市中心区域有了蓝色的星空色, demo 中旋转场景也能看到明显的星光变化。 2....天空球:将场景模型放置一个大的球体中,球体内部进行贴图,来模拟天空。...由于 js 语言无法精确控制 interval 时间间隔, 采用 Frame-Based 不能精确控制动画时间周期,即使相同的 frames 和 interval 参数不同的环境,可能会出现动画周期差异较大的问题

1.8K20

深入解读新一代全栈框架 Fresh

今天给大家介绍一个新的框架 Fresh,由 Deno 作者出品,最近发布了 1.0 的正式版本,宣布支持了生产环境,并且 Github 热度也比较高,现在是时候给大家详细地介绍一下这个方案了。...上手体验 使用 Fresh 之前,需要在机器先安装 Deno: 如何没有安装的话可以先去 Deno 官方安装一下: https://deno.land/。...每个 island 组件需要有一个 default 导出,用来将组件暴露出去,使用比较简单,就不展开介绍了。而路由组件则更加灵活,既可以作为一个 API 服务,也可以作为一个组件进行渲染。...这里我们主要关注页面渲染的逻辑是如何实现的,#handlers()方法中定义了几乎所有路由的处理逻辑,包括路由组件渲染、404 组件渲染、Error 组件渲染、静态资源加载等等逻辑,我们可以把目光集中路由组件渲染中...浏览器执行这些代码,会给服务端发起/islands/Counter的请求,服务端接收到请求,对 Counter 组件进行实时编译打包,然后将结果返回给浏览器,这样浏览器就能拿到 Esbuild 的编译产物并执行

1.1K20

【2万字长文】深入浅出主流的几款小程序跨端框架原理

_t("default")] ) render 函数会在第一次 mount,或者Vue 维护的 data 有更新产生的时候会被执行。 那么执行下面这段 render 函数会拿到什么呢? ?...vue 实例上有数据(我们的 data 本来就是定义 vue 里面的),小程序Page 实例也有数据(小程序实例没数据没法渲染页面对吧)。...只有当前节点依赖了 data 数据才有 h_ f_: v-for 循环的 index c_: 父亲组件的 id 执行上面这段 megalo 生成的 render 函数,同样会生成一个 vnode...事实,Remax 和 Taro Next 相当于是自己实现了一套可以 React 中用的,且能渲染到小程序页面的自定义渲染器。...: string; appendChild(node: VNode): void; removeChild(node: VNode): void; insertBefore(newNode:

2.2K44

干货 | 携程商旅大前端 React Streaming 的探索之路

,你无法使用任何 hooks Api 以及使用任何浏览器 Api 、事件绑定等。...不过,除了浏览器控制台的一堆错误外,我们发现在服务器获取的评论数据也没有同步到客户端进行渲染。 没有同步客户端渲染的原因非常简单:浏览器中无法拿到服务器获取的评论数据。...此时,客户端 JS 执行时即可正常获取这部分数据进行渲染。...在外层 组件使用 Suspense 包裹了内部使用 use 的 组件。 在此刷新页面,评论内容获取数据并不会使用阻塞任何页面渲染。...再次执行客户端 hydrate 逻辑,由于客户端再次调用 ,客户端并未传递任何内容,自然也会产生错误。

27520

”渐进式页面渲染“:详解 React Streaming 过程

,你无法使用任何 hooks Api 以及使用任何浏览器 Api 、事件绑定等。...不过,除了浏览器控制台的一堆错误外,我们发现在服务器获取的评论数据也没有同步到客户端进行渲染。 没有同步客户端渲染的原因非常简单:浏览器中无法拿到服务器获取的评论数据。...在外层 组件使用 Suspense 包裹了内部使用 use 的 组件。 在此刷新页面,评论内容获取数据并不会使用阻塞任何页面渲染。...再次执行客户端 hydrate 逻辑,由于客户端再次调用 ,客户端并未传递任何内容,自然也会产生错误。...这部分内容展示了评论内容加载中使用 fallback 属性占位的 loading 内容,同时使用

95750

Creator3D新版本震撼来袭

Game View 预览的状态下,场景编辑器、属性面板下的所有操作都会被实时更新到 Game View 窗口中。 ? 也可以使用暂停按钮进行实时调试,使用步进按钮逐帧执行。 ?...模型资源预览 编辑器中选中模型后可以对模型资源进行全方位预览,也可以查看默认材质中使用的各种贴图。 ? 未来的版本中我们还会支持骨骼动画的预览方便做裁切。...暴露地形和 2D 组件材质选项 从 v1.2 开始,我们开放了地形组件和 2D 渲染组件的材质属性,所以大家可以自己制作材质并替换。对于地形,只需要在 Terrain 组件设置 effect 资源。...而对于 Sprite 等 2D 渲染组件,也只需要在组件属性面板设置默认的 Material 资源。 API 变动和 Breaking Changes 1....、setContentSize 请先获取节点的 UITransform 组件,再使用对应的接口,比如 Javascript node.getComponent(UITransform).setContentSize

1K40

React源码解析之Commit第二子阶段「mutation」(下)

=== HostComponent || node.tag === HostText) { //目标节点被删除前,从该节点开始深度优先遍历,卸载 ref 和执行 componentWillUnmount...) { ① 执行commitNestedUnmounts() commitNestedUnmounts(node); commitNestedUnmounts()的作用是: 目标节点被删除前,...(2) 如果当前节点是类组件ClassComponent或函数组件FunctionComponent的话(也就是最后的 else 情况),则执行commitUnmount(),卸载ref和执行componentWillUnmount...//当在被删除的目标节点的内部,我们不想在内部调用removeChild,因为子节点会被父节点给统一删除 //但是 React 要在目标节点被删除的时候,执行componentWillUnmount...effect链,执行每个effect 的destory()方法 safelyCallDestroy()源码如下: //安全(try...catch)执行 effect.destroy() function

78920
领券