摘要:
高阶组件 通过函数和闭包,改变已有组件的行为, 本质上就是 Decorator 模式在React的一种实现。 定义 Enhance 是一个方法,当传入一个 Component(ComposedComponent) 的时候, 它将自动为该 Component 进行扩展并返回新的类定义。 Enhance 阅读全文
摘要:
之前有类似的文章,为了过渡到markdown编辑器,不再往里加了,新起一篇 DOMContentLoaded The DOMContentLoaded event is fired when the initial HTML document has been completely loaded a 阅读全文
摘要:
碰撞检测的方法 判断物体与物体之间是否有重叠,这里使用物体的外接矩形边界来确定。 判断物体与物体之间的距离,当距离小于某个值时,满足碰撞条件,物体产生碰撞效果。 光线投射法 画一条与物体速度向量相重合的线, 然后再从待检测物体出发,绘制第二条线,根据两条线的交点位置来判定是否发生碰撞。 是与小球速度 阅读全文
摘要:
ArrayBuffer ArrayBuffer对象是用来表示一个通用的,固定长度的二进制数据缓冲区。 不能直接操纵ArrayBuffer的内容, 而是应该创建一个表示特定格式的buffer的类型化数组对象(typed array objects)或 数据视图对象DataView 来对buffer的内 阅读全文
摘要:
缓动动画(easing) 缓动动画中,距离的百分比作用于速度,物体距离目标位置越远,运动的速度就越大, 随着物体距离目标位置越来越近,速度逐渐降低为零,停止在目标位置。 easing就是我们设定的缓动参数,每一帧都乘以距离,随着距离的不断减小,速度也就不断减小。 弹性动画(spring) 弹性动画中 阅读全文
摘要:
标量:有大小而没有方向的物理量(速率,体积,温度) 矢量:有大小也有方向的物理量(速度,动量,力) 速度 速度是表征物体运动快慢的物理量 同时在一个物体的x轴和y轴上定义速度, 那么物体的运动方向是这两个速度方向的和方向, 即满足矢量的叠加,大小满足勾股定理。 以每秒5的速度,30度角方向运动。 那 阅读全文
摘要:
三角函数 普通坐标与canvas坐标是不同的 常用三角函数 在canvas中采用的是弧度制。 是将角度转成弧度,比如: 。 (弧度值)乘上 是将弧度转成角度。 Math.atan()可以直接通过两个直角边得到角度值,但是会得到两个相同的角度值 使用Math.atan2(dy, dx)可以弥补该问题 阅读全文
摘要:
在拖动操作过程中,被拖动元素会以半透明形式展现,并跟随鼠标指针移动。 拖放基础 1 定义可拖动目标。 将我们希望拖动的元素的draggable属性设为true。 2 定义被拖动的数据,可能为多种不同格式。 例如,文本型数据会包含被拖动文本的字符串。 3 (可选)自定义拖动过程中鼠标指针旁边会出现的拖 阅读全文