npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

mf-ade

v1.8.4

Published

基于TS的高级弹幕引擎

Downloads

1

Readme

MFuns 高级弹幕引擎

MF-ADE (MFuns Advanced Danmaku Engine) 高级弹幕引擎

特性

经支持以下弹幕效果:

  • 贝塞尔曲线
  • 静止放置
  • 3d 移动
  • 3d 旋转
  • 缩放
  • 并行动画
  • 串行动画
  • 重复动画
  • 透明度动画
  • 图片弹幕
  • 滤镜
  • 渐变
  • 大部分 CSS 属性
  • 模板继承
  • mode7+ 弹幕 更多的效果还在不断的添加和完善中

如果使用过程中存在 bug ,欢迎提交 issue 反馈

当前版本: 1.8.0 Beta ,更新日期:2021/9/12

弹幕实验室

弹幕实验室目前已经搭建完成 地址: https://labv2.meogirl.ml

使用文档

下载 & 安装

下载 lib/mfunsAdvancedDanmaku.js 文件 使用 script 标记导入到 html 中

npm 方式:

从 1.5.5 版本开始 弹幕引擎已支持 使用 npm 安装 安装

npm install mf-ade --save

导入

import { MFADE } from "mf-ade";

基本使用

导入弹幕模块,并进行实例化的操作

// var danmaku = new MfunsDanMaku({  //从1.4.0版本开始 此名称已被废弃
var danmaku = new MFADE({
  //挂载的容器,要求传入一个HTMLElement对象,详见“容器”
  containers: document.getElementById("danmaku"),
  //获取弹幕的接口,详见“弹幕接口”
  // 1.8.0 之后,以下接口已废弃
  // danmaku: (send) => {
  //   /*
  //       获取弹幕,调用回调函数,将弹幕数组传进去
  //       */
  //   send(["json....", "json...."]);
  // },

  // 1.8.0 版 json 代码编辑器弹幕
  codeDanmaku: (send) => {
    send(["json....", "json...."]);
  },
  // 1.8.0 版 mode7+ 弹幕
  mode7Danmaku: (send) => {
    send(["json....", "json...."]);
  },
});

容器

containers 容器接受一个 html 元素,但并不会对元素的大小和位置进行设置,所以需要在外部完成对元素进行大小以及位置的设置

弹幕接口

由于弹幕引擎为了更好的可扩展性,内部并无任何网络请求的实现, 所以需要在这里进行相应的操作,获取弹幕当获取弹幕完成,调用 send(string[]) 回调函数,由于弹幕可能有很多条,所以回调函数接受一个 json 字符串数组

1.8.0 之后新增mode7+ 弹幕接口被拆分成两个

  • codeDanmaku:(send)=>void: 原danmaku:(send)=>void 接口更名
  • mode7Danmaku:(send)=>void: mode7+ 弹幕接口

弹幕引擎的控制方法

pause()

暂停弹幕

start()

开始播放

注意:如果获取弹幕进行使用网络进行异步请求,当网络缓慢时,弹幕极有可能没有加载完成,如果此时调用播放,那么弹幕将不会被加载

skip(time:number)

跳转到指定位置,该方法要求传入一个单位为毫秒的数字

time():number

获取弹幕引擎的内部时间,返回一个单位为毫秒的数字

reset()

重置弹幕引擎

该操作会重新调用初始化传入的danmaku接口,如果接口中存在网络请求,当网络请求缓慢,可能会发生一些意想不到的 BUG

如果不希望重新获取弹幕,请使用 skip(0) 进行跳转

resize()

重新计算弹幕容器尺寸

一般情况下,浏览器窗口大小变化时,会自动更新尺寸

但是也存在一些边缘情况导致舞台尺寸无法正常更新,请调用此函数

listenerEvent(event: DanmakuEventType, callback: (data:any) => void)

1.5.0 更新 监听弹幕事件

  • event 事件类型

目前已有的事件类型

/**
 * 弹幕字符串无效
 */
(DANMAKU_JSON_INVALID = "DANMAKU_JSON_INVALID"),
  /**
   * 单条弹幕格式错误
   */
  (DANMAKU_FORMAT_ERROR = "DANMAKU_FORMAT_ERROR"),
  /**
   * 弹幕开始加载
   */
  (DANMAKU_LOAD_START = "DANMAKU_LOAD_START"),
  /**
   * 弹幕加载完成
   */
  (DANMAKU_LOAD_DONE = "DANMAKU_LOAD_DONE"),
  /**
   * 弹幕舞台重置
   */
  (DANMAKU_STAGE_RESET = "DANMAKU_STAGE_RESET");
  • callback 回调函数

mode7+ 接收弹幕格式

[
  {
  "content":"string",//弹幕内
  "start":0,//开始时间
  "size":100,//文字大小
  "color":"#ffffffff",//文字颜色
  "weight":400,//文本粗细
  "shadow":true,//阴影
  "stroke":1,//描边
  "strokeColor":"#fffffff",//描边颜色
  "font":"string",//字体
  "zIndex":1,//层级,
  "linear":false,//线性动画 false时为加速动画
  "animations":[//动画关键帧
    {
      "duration":1000,//动画时间
      "x":0,//x
      "y":0,//y
      "opacity":0,//透明
      "rx":0,//旋转 x,y,z
      "ry":0,
      "rz":0,
      "scale":1//缩放
    },
    ....
  ]
}
]

相关链接

未实现清单

  • 路径动画 offset-path
  • svg 属性变换动画
  • 内容遮罩
  • 滤镜和渐变动画