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

onTouchEvent(一) 你所必须知道坐标详解

前言 本篇文章是一位读者学习笔记,很喜欢这样文章,知识点写在书上并不能让你提高,转化为你自己知识,才是提高唯一途径,所以这次破例在公众号发布这篇不是文章,同时也希望Suma能够继续记录更多学习内容...两个点A、B,AX轴坐标为20,BX轴坐标为180,X轴正方向为以水平方向向右,故左边X值越来越小,右边X值越来越大。 滑动 ? 这是一个最简单手势控制代码。...后面再介绍,在这段代码里作用是:判断移动动画是否结束,未结束立即结束,坐标移动至最终坐标值。 MotionEvent getX()、getY()是获取当前触摸点距离控件坐标。...1和2大家可能照着网上写并没有注意,而这篇文章主要是因为它们而诞生为什么是上一次操作坐标减去当前操作坐标?虽然打log看值和不停测试最终也能得出结果,但是求知欲比较大(好奇心杀死猫)。...滑动偏移量 左滑X轴坐标会越来越小。根据刚才scrollBy()源码来说X偏移为mScrollX + x,为了要左滑x就必须为负值。

40940

旋转吧!徽章!

简介 本篇文章原本来自于写「 蚂蚁 森林 神奇动物」徽章动画时总结技术分享,考虑到各种因素,已去除了敏感资源。 编写了更为抽象(高内聚、低耦合)代码作为示例。...接下来将主要就选取实现方案和遇到问题进行分享。 顺便放一个简单示例: 实现方案 我们首要任务是实现拖动徽章,松开手后惯性动画。...我们只需要按照帧率改变徽章旋转角度使其形成动画即可。 你问我为什么不用 Three.js?懂得都懂。 当然 Three.js 较大,且业务可能存在很多定制需求,这也是一部分原因。...拖动徽章(此时无需考虑动画、但要避免拖动与惯性动画冲突) 手离开屏幕,徽章旋转速度逐渐衰减(需要得知初速度) 最终总是停留在正面或是反面(在平面上不同区间赋予对应方向加速度) ,可能简短文字难以描述清楚...,数字尽管越来越小,但其仍旧是浮点数。

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

使用 Win2D 实现融合效果

融合效果 在 CSS 中有一种实现融合效果技巧,使用模糊滤镜(blur)叠加对比度滤镜(contrast)使两个接近元素看上去“粘”在一起,如下图所示: 博客园 ChokCoco 就用这个技巧实现了很多不同玩法写了很多文章...,例如这篇: 你所不知道 CSS 滤镜技巧与细节 一直对这种效果很感兴趣,总想自己亲自玩一玩,当然,是在自己熟悉 Xaml 平台。...最终效果如下: 如果在 OnDraw 最后调用 CanvasControl.Invalidate 函数可以触发 CanvasControl 重绘,从而实现动画效果。...利用这个方法,再加上一些计算,就可以实现融合融合效果动画: 3....高斯模糊让两个圆形边缘变得模糊,多了一圈半透明像素。

47030

50个有价值CSS编写规则,让你写出更好CSS

通常,使CSS变得困难原因是,开发人员没有一套可以遵循和使用工具,以及最佳实践指南,以帮助他们享受编写CSS乐趣。...特定选择器示例: section#sample-section —(问为什么需要指定“ section”和ID) main div p.title —(询问为什么需要指定.title以外任何内容)...这些属性动画和执行更改成本更高,因为它们需要浏览器重新计算布局和接收更改元素所有后代。当你同时对许多这些属性进行更改时,它开始变得更加明显,因此请注意这一点。...19、对CSS写注释 注释是个好东西,采纳吧!如果你编写了复杂 hacks 或发现某些事情有效但不知道为什么,请添加注释。...无论你最终采用什么规则,都要保持一致。 感谢你阅读。祝你好运!

2.3K20

CSS做一个好看Loading加载效果

CSS确实是魅力大离谱,可能最近一段时间关注文章会知道,发了好多跟CSS有关文章了,有的是看到网上有这种效果,自己进行复刻,有的是利用一个自己刚看到知识点,运用它去做一些好玩东西,总之,CSS...~ 实现吃豆人大嘴巴 ENJOY THE SUMMER 先来实现左边大嘴巴,是用了两个这种形状东西,完后给下面的那个margin-top:-50px,它俩就实现了重叠,之后用动画效果,让上面顺时针旋转...css中即可(运用这个属性就行:animation),因为是div套了div,所以我用是伪元素来选择:分别是first-of-type和nth-child(2),选中了第一个跟第二个div来作为吃豆人嘴巴...ENJOY THE SUMMER 同样,我们在刚刚两个div同级地方,又建了三个div,真是太喜欢div了~ 豆子相对于嘴巴来说就很简单,首先他是圆,其次呢,它动画是向左移动,具备这两个条件...这里设置分别是0.33/0.66/0.99秒哦~ 就像这样: animation: pacman-balls 1s 0.33/0.66/0.99s infinite linear 看一下最终效果吧

90840

动画进阶】神奇 3D 卡片反光闪烁动效

Hover 状态,有 Blink,Blink 星星闪烁效果 当然,要做到卡片 3D 旋转跟随鼠标移动效果需要一定程度借助 JavaScript,因此,最终效果是 CSS 配合 JavaScript...这个交互效果主要有两个核心: 借助了 CSS 3D 能力 元素旋转需要和鼠标的移动相结合 我们目标是实现这样一个动画效果: 这里,我们其实有两个核心元素: 鼠标活动区域 旋转物体本身 鼠标在鼠标活动区域内移动...现代 Web 动画中,我们更倾向于使用 requestAnimationFrame 去优化我们动画,确保每一帧渲染一次动画即可。...,得到这么一个初步效果: 接下来,我们需要让卡片能够变得有光泽,并且也能基于鼠标 Hover 坐标不同,展现出不一样效果,像是这样: 怎么实现呢?...,最终,我们就实现了最开头效果: 完整代码,你可以戳这里 CodePen Demo -- CSS 3D Rotate With Mouse Move 尝试不同渐变背景与不同混合模式 了解上述制作方式全过程后

20620

CSS3实现饼图扇形loading效果

我们让假鸡蛋隐藏,让之前打酱油加饼子假饼子出现,覆盖部分真鸡蛋。我们就会看到,真鸡蛋面积越来越小了~ ? demo对应效果类似: ? 6. ...CSS3表示 可见,要实现我们想要蛋饼效果,我们需要这些东西: 圆形蛋饼子 – 对应下面类名为inner元素 旋转半面真鸡蛋 – 对应下面类名为spiner元素 不动半面蛋饼子,前半程隐藏,后半程出现...仔细查看gif动画,你会发现,蛋饼它是从全盘都0再到整个360度覆盖。 而,上午捣鼓动画只是从360度无死角覆盖到0覆盖。一旦覆盖结束,就又要走360度开始,不连贯,怎么破?...是这么处理: 再覆盖一个蛋饼从0度到360度展示动画。与一直捣鼓动画前后半程分别展示就可以了。...,动画时间正好是一个周期2倍。

1.7K10

这是一篇很好互动式文章,Framer Motion 布局动画

基于CSS方法以及为什么它们并不总是有效。 FLIP:是Framer Motion使用技术。 布局变化 当页面上一个元素影响其他元素改变位置时,就会发生布局变化。...涉及布局变化CSS动画通常比其他CSS动画更昂贵,因为它影响到周围其他元素。这是因为浏览器必须在动画每一帧中重新计算页面的布局--对于一个60FPS动画来说,这意味着每秒钟要计算60次!...要做到这一点,我们要比较我们所做两个测量,计算出一个 transform ,然后应用到正方形上。...尝试 尝试第一件事是,在父元素要做动画之前,先计算一次反比例,然后在子元素上单独运行一个动画。... <-- is not scale corrected 这个API意味着子组件需要能够 "钩住 "父组件动画,这让实现变得更加复杂。

2.4K20

官宣 CSS 支持三角函数,未来会是什么?

sqrt() 参数平方和平方根函数 - hypot() 开方 - pow() 2001 年 CSS 升级版本 CSS 3 发布以来,Web 开发人员对 CSS 利用变得越来越自由多变,不再局限于简单地布局网页...比如 CSS 现在能够编写复杂动画支持像 Adobe Photoshop 中那样高级图像滤镜。...项目地址: https://keithclark.co.uk/labs/css-fps 反对派则表示:为什么 CSS 要这样搞?...认为 CSS 是用于将样式应用于 HTML 文档东西,计算等操作应该在 JS 中完成。...有人回复他: 一些 CSS 动画可以使用 GPU 资源来执行,从而释放 CPU 以用于其它事情。 JavaScript 是单线程CSS 动画可以放弃对转换精细控制,以释放主线程。

49030

JQuery逐渐退出前端历史舞台?

觉得主要有以下几个原因: 当时没有标准方法来通过css选择器查询DOM元素。 当时没有标准方法来实现动画视觉效果。 IEXMLHttpRequest接口存在浏览器兼容问题。...而JQuery使得开发人员操作DOM元素、实现动画效果以及发起ajax请求变得很简单,所以JQuery从中脱颖而出,最重要一点是JQuery对于浏览器兼容问题处理比较到位。...那为什么GitHub这样公司都会逐渐把JQuery慢慢剥离呢?...css类名切换可以使用Element.classList. css现在支持在样式表实现动画。 发起ajax请求完全可以使用axios替代,并且性能更高。...随着JavaScript高速发展,JQuery提供语法糖变得越来越多。 也就是说,我们一直以来依靠JQuery来做事情,现在通过原生JS完全可以做到

1.4K20

有意思鼠标跟随 3D 旋转动效

CSS 实现元素 3D 旋转 如果不借助 JavaScript,仅仅只是 CSS,如何实现类似的 3D 旋转效果呢? 这里会运用到一种名为正反旋转相消或者是正负旋转相消小技巧。...用开发者工具选取最外层祖先元素是这样: ae3b7755831645f39e43b7563829455d_tplv-k3u1fbpfcp-watermark.gif 既然如此,我们继续思考,如果在其中旋转一个父元素上...因为整个效果是需要基于 CSS 3D ,我们首先加上简单 CSS 3D 效果: body { width: 100vw; height: 100vh; transform-style...,元素绕 Y 轴移动,并且值从 0 开始,越来越大,范围为(0, +∞)deg 反之,当鼠标在中心左侧连续移动,元素绕 Y 轴移动,并且值从 0 开始,越来越小,范围为(-∞, 0)deg 这样,我们可以得到这样一个公式...(function(){ element.style.transform = "rotateX(0) rotateY(0)"; }); }); 至此,我们就可以完美的实现平滑出入,整体效果最终如下

94330

让你网页更丝滑(一)

简单来说,像素管道经历步骤越多,渲染时间就越长,单个步骤内可能也会因为某种原因而变得耗时很长;所以不管是步骤多还是单个步骤耗费时间长,最终都会导致整体渲染时间变长。...如何让动画更丝滑 动画需要达到60FPS才能变得丝滑,本节我们介绍如何让动画在不丢帧情况下稳定保持在60FPS。...3.3 如何让CSS动画更丝滑 CSS动画通常使用@keyframe或transition结合样式变动来实现视觉变化效果。...我们同样可以通过减少像素管道步骤和每个步骤所耗费时间让CSS动画更流畅。 本节介绍CSS动画优化方式同样适用于JS动画,但上一节介绍JS动画优化方法不适用于CSS动画,它们是包含关系。...CSS动画我们可以通过降低绘制区域并且使transform属性来完成动画,同时我们需要管理好图层,因为绘制和图层管理都需要成本,通常我们需要根据具体情况进行权衡做出最好选择。

1.6K30

HTML多行代码搞定微信8.0炸裂特效!CC++怎么能输「建议收藏」

在这个函数中主要做了下面几件事情: 按照消息 HTML 结构创建一个新消息元素 msgEle,追加到消息列表中。 把消息样式设置为发送。...最后把滚动条滚动到最新消息处,清空输入框中消息。 这样就可以发送普通文本消息了。 发送动画表情 在发送动画表情之前,需要先加载动画表情。...设置表情动画宽高为 40px。 使用 lottie 加载动画设置循环播放为 false,自动播放为 true,来让表情发送时自动播放动画,且只播放一次。...800 毫秒之后再执行,目的是在炸弹表情播放到合适时间时,再播放全屏动画,播放动画使用了 playExplosion() 函数,传递了消息元素进去。...Keyframes 里代码比较多,但是都是很简单,就是模拟了爆炸时效果,移动 x 轴和 y 轴偏移,每次偏移幅度越来越小,并且越来越快,可以看到百分比间隔越来越小

2K20

能用CSS实现就不用麻烦JavaScript

前言 凡是可以用 JavaScript 来写应用,最终都会用 JavaScript 来写。...动画 曾经某个时期,大多数开发者使用 JavaScript(或者jQuery) 给浏览器中元素添加动画。...随着互动项目越来越复杂,移动设备大量增加,表现性能变得越来越重要。Flash 被抛弃,有天赋动画开发者使用 HTML5 去实现过去从未实现效果。...他们需要更好工具去开发复杂动画序列获得最好性能。JavaScript(或者jQuery) 并不能够做到。浏览器日渐成熟同时也开始提供了一些解决方案。最被广泛接受方案是使用 CSS 动画。...*/ .user:hover + .menu{ display: list-item; } 注意这里使用了一个相邻选择器,这也是上面说为什么要写成相邻元素。

1.3K11

【Hello CSS】第九章-如何画一个体验更好动画

CSS动画属性 在CSS中,animation 、 transition 跟 transform 使我们常用于制作动画属性,我们先来大致地来了解下这三个属性。...地址在此: https://codepen.io/krischan77/pen/RzomRX 鱼头注:这个判断鼠标进入进出动画主要是利用了障眼法,就是定义盒子四个子元素隐藏,鼠标进入时,触发该方位子元素显示与动画进入...弹力球下落时,由于重力加速度原因,所以速度会越来越大,往上跳时速度会越来越小直至0。...” 产品经理:“还好这次是让你做个loading动画,本身loading动画就是循环性动画,不然就让你加上重力加速度跟摩擦力损耗状态了。” 鱼头小心翼翼地问:“那我可以回家了吗?肚子好饿。”...产品经理:“等下,突然又有一个想法…..” ? 于是乎,鱼头就这么过了一个浪漫夜晚。 后记 其实CSS可画动画是很多,只要我们细心去组合不同 CSS 属性,就能作出很多有趣效果。

47510

AE表达式制作晃动小铃铛

痛定思痛,开始琢磨如何来实现这个动效,当然第一时间肯定想到了万能K帧,然后付诸了行动,步骤和最终效果如下: 1、绘制铃铛 ? ? 2、整理图层关系。...比如,一个图形在1秒内顺时针旋转了90度,即该图形旋转属性(Rotation)参数在1秒内在初始值基础上累加了90,当我们按住Alt键点击旋转属性左端小秒表时就会在右边原来打关键帧区域出现表达式输入框...首先想到了减法,在公式后面加上一个跟随time变大减数,比如r=Math.sin(time*10)*100-time*10,随着时间值越来越大,r值也会越来越小,那不就是想要摆动幅度越来越小效果吗...但事实是r值越来越小却不会停留在0附近,它会变成越来越小负数,铃铛就会往逆时针方向继续甩下去,如下图: ?...调速过后铃铛 把最终铃铛动画调速过后就更自然了, 到这里终于可以叉会儿腰了吧。

1.6K63

CSS基础-CSS3过渡与动画

在网页设计领域,CSS3过渡(Transitions)与动画(Animations)为开发者提供了强大视觉效果工具,让页面元素动态变化变得更加平滑和吸引人。...本文将深入浅出地讲解CSS3过渡与动画基本概念、常见应用场景、易错点以及如何有效避免这些问题,通过实际代码示例加深理解。...切换图片时淡入淡出效果。 表单输入框获得焦点时边框变色。 易错点与避免策略 易错点1:  忘记设置初始样式和最终样式。...CSS3动画(Animations) 基本概念 相比过渡,CSS3动画提供了更复杂控制能力,可以定义一系列关键帧来描述元素随时间变化过程。...*/ } 结语 CSS3过渡与动画为网页带来了前所未有的动态效果,极大地丰富了用户体验。

10010

都9102年了,还需要用到 jQuery 吗?

在本文中,将介绍 jQuery 历史、优点、缺点以及为什么你仍要用它。 什么是jQuery?...它通过易于使用API在大量浏览器中运行,使得 HTML 文档遍历和操作、事件处理、动画和 Ajax 变得更加简单。...操作DOM元素 - jQuery 通过使用选择器引用目标元素包含应用所需更改方法,可以更轻松地更改元素样式和行为。 动画元素 - 动画页面内容是 jQuery 主要卖点之一。...相对易用性 - jQuery 一个缺点是很容易写出面条代码。由于对 jQuery 选择链使用不当,使用非描述性变量名尝试编写复杂函数时,jQuery 可能会导致写出最终无法维护代码。...$(selectorName).animate( {parameters}, speed, callback ); 通过使用 CSS 动画可以实现网站上动画内容。

2.1K40

用纯 CSS 实现文本打字机效果,一定很酷!

打字机效果很容易创建 打字机效果很容易制作,要理解本文,你需要掌握CSSCSS动画基本知识。...首先我们来解释一下打字机效果实现方式: 打字机动画将通过使用CSS steps()函数一步一步地将文本元素宽度从0更改为100%,从而显示文本元素。 一个闪烁动画将使光标动起来。...现在,我们将在我们键入类中包括这个动画设置其动画方向为forward,以确保文本元素在动画完成后不会返回width: 0: .typed-out{ overflow: hidden;...还要为依赖辅助技术最终用户着想,最好运行一些可用性测试,以确保您没有让用户生活变得困难。因为你可以用纯CSS做一些事情,并不一定意味着你应该这样做。...无论如何,希望你喜欢这篇文章,希望它能让你思考使用CSS动画可以做其他有趣事情,从而为你web页面添加兴趣和乐趣。

2.7K10
领券