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

颜值与实力齐飞,魔戒Scroll可独立切换AR功能

Scroll通过AR技术,使我们与数字功能之间的互动变得有趣、直观。 科技和艺术似乎很难沾上关系,美美哒的产品更是难遇。...Nat Martin的大学专业是创新设计工程,其最新研究成果是一款命名为Scroll的AR控制器模型,它看上去就像是一款设计时尚的戒指。...Nat Martin表示:“Scroll通过AR技术,使我们与数字功能之间的互动变得有趣、直观,让我们重新思考人类与空间之间的数字互动。互动越直观,就越有效、简单。”...这款戒指控制器模型采用了手势控制,随着佩戴者手部动作的改变,可以切换AR功能。此外,这枚戒指的手势也非常简单,例如弹指、滑动戒指边缘和轻按等。...除了滚动组件和感应器以外,Scroll内置陀螺仪,可以识别手指方向。 目前,这款戒指搭载了比较日常的AR功能,比如日程表、播放列表和地图等,可兼容微软HoloLens等AR头显。

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

    APICloud AVM多端开发 | 手把手教外卖点餐App开发(上)

    在 APP 原生端 上面, 我们可以借助 FrameGroup 来实现这样的切换组。 小程序原生上则是使用 app.json 配置文件来 配置定义 TabBar 的相关属性 。...页面主要部分是一个滚动效果,需要使用一个 scroll-view 来做滚动部分的容器。 头部有一个固定头部,并跟随上面提到的 scroll-view 的滚动高度来做透明度反馈。...number: this.data.shopInfo.phone }); } } 推荐菜品和栏目 (v-for循环和组件) 仔细观察这里的模板和数据,实际上可以分解为 一个主标题...scroll-view 的滚动会触发相关数据的变动,所以为其绑定上一个滚动事件 @scroll="onScroll" 和相关处理逻辑 onScroll 。...function onScroll(e) { const y = isMP() ?

    2.8K40

    鸿蒙开发实战案例:视频卡片和列表区域的联动滚动思路

    点击视频卡片中的播放按钮切换视频播放状态。视频卡片点击上一条、下一条时,通过List的滚动控制器控制列表滚动到指定位置,视频卡片不发生滚动。点击列表项,列表发生滚动,视频卡片不滚动。...})为了实现视频卡片的吸顶效果, Scroll 容器的内容高度使用 calc 计算属性设置为 Scroll 容器高度和视频高度的和,使 Scroll 滚动到尾部边缘时,视频隐藏,视频卡片吸顶。...内容的剩余空间,当视频卡片吸顶时新闻列表可以完全显示,并且当新闻标题改变导致卡片高度发生变化时,新闻列表组件高度也相应变化。...) { ... } // TODO: 性能知识点:onScroll属于频繁回调接口,应该避免在内部进行冗余和耗时操作,例如避免打印日志 .onScroll((xOffset: number,...// TODO:知识点:监听currentIndex的变化,视频播放卡片切换新闻和点击列表项切换新闻时修改currentIndex,根据下标计算列表的滚动偏移 onCurrentIndexChange

    12610

    吸顶效果解决方案

    页面向下滚动超过吸顶元素初始位置时,把吸顶元素固定在顶部 要求吸顶的元素一般是二级导航栏、搜索框、文章标题栏(h1)、表头(thead)、tab条等等,共同特点是在内容或功能上比较重要,但又不是最重要的元素...事件: var stickyEl = document.querySelector('.sticky'); var stickyT = stickyEl.offsetTop; window.onscroll...CSS sticky并不能解决这个问题 笔者还没有找到合适的解决方案,目前方案是牺牲tab浏览状态独立性,多tab共用body的滚动条,切换tab时滚回之前的位置。...方案,在效果可接受范围内手动节流,提升性能;IOS用CSS sticky,如果不需要兼容IOS 8-以及任意版本UIWebView的话,也可以采用scroll方案 吸顶tab列表:没有好的解决方案,暂用牺牲无缝切换的方案...整页iScroll是一个冒险方案,页面复杂的话,不要轻易尝试,即便页面不复杂,也难保以后不会变得复杂 参考资料 onscroll Event Issues on Mobile Browsers:一篇详尽的

    3.6K10

    纯血鸿蒙APP实战开发——组件堆叠

    通过绑定Scroll组件的onScroll滚动事件回调函数,精准捕获滚动动作的发生。当滚动时,实时地调节组件的透明度、高度等属性,从而成功实现了嵌套滚动效果、透明度动态变化以及平滑的组件切换。...Stack({ alignContent: Alignment.Top }) { Scroll(this.scroller) { ... }}在顶部的可滚动区域,通过使用 Scroll组件 来获取堆叠效果...Scroll(this.scroller) { Column() { ... }}实现滚动过程中动态调整文本框高度的功能时,运用Scroll组件滚动事件回调函数onScroll在滚动时修改文本框的高度及组件的透明度...onScroll(() => { let yOffset: number = this.scroller2.currentOffset().yOffset; this.Height2 = this.Height2...本例中Scroll组件绑定onScroll滚动事件回调,onScroll属于频繁回调,在回调中需要尽量减少耗时和冗余操作,例如减少不必要的日志打印。

    13620

    HarmonyOS 开发实践——基于List和Scroller由简单到复杂列表布局开发实践

    1.左List用ListItemGroup对城市数据进行分组2.右List用ListItem对首字母进行渲染3.通过右List首字母导航点击可以切换左List滚动到对应分组核心代码@State private...下部分Row组件2(List组件1 + Scroll组件(List组件2)),List组件1渲染每条信息的头部,内部用ListItemGroup进行分组渲染,竖向滚动;Scroll组件用来包裹详细内容数据...   }   .......   .onScrollFrameBegin((offset: number, state: ScrollState) => {     // 内容List纵向滚动带动左侧标题...this.bottomRightScroller.currentOffset().yOffset + offset,       animation: false     })     return { offsetRemain: offset }   })     .onScroll......         }         .width(RightItemWidth)       }, (item: string) => item)     }     ......     .onScroll

    26720

    防抖函数与节流函数

    原文 https://www.cnblogs.com/chenqf/p/7986725.html 应用场景 实际工作中,我们经常性的会通过监听某些事件完成对应的需求,比如: 通过监听 scroll 事件...根据滚动位置显示返回顶部按钮 通过监听 resize 事件,对某些自适应页面调整DOM的渲染(通过CSS实现的自适应不再此范围内) 通过监听 keyup 事件,监听文字输入并调用接口进行模糊匹配 … 常规实现,以监听 scroll...事件为例 我们先来看一下scroll事件的触发频率 window.onscroll = function () { //滚动条位置 let scrollTop = document.body.scrollTop...scroll 的一个简单例子 复制代码 let timer; window.onscroll = function () { if(timer){ clearTimeout(timer) }...scroll 的一个简单例子 复制代码 let startTime = Date.now(); //开始时间 let time = 500; //间隔时间 let timer; window.onscroll

    89430

    Scroll,你玩明白了嘛?

    像上面这个例子,我们首先通过 # 去锚定对应内容,实现了一个 tab 切换的效果:  A  B  <a href="...: 300px;  overflow-y: scroll;  scroll-behavior: smooth;  border: 1px solid grey; } 在 scroll-behavior...由于它们是非此即彼的关系,那实际上我们只需要在 onScroll 这个事件上,通过一个 flag 去区分即可。 流程图如下: 而这其中唯一需要关注的点在于,需要通过什么方式知道,脚本滚动结束了?...所以我们还是需要依赖 onScroll 去监听当前的滚动位置,来得知滚动什么时候达到目标位置。 所以上面的流程还要再加一步: 接下来看看代码要怎么组织。...1、定义一个长列表,并通过 useRef 记录: 滚动容器的 ref 脚本滚动的判断变量 isScriptScroll 当前的滚动位置 scrollTop 2、接着,为滚动容器绑定一个 onScroll

    3.2K22
    领券