Skip to content
Lightweight HTML5 Canvas Danmaku Engine
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
bower.json update Jan 31, 2019


Lightweight Canvas HTML5 Danmaku Engine.


Youtube extension

Click to see Damoo extension script for YouTube live chat.

Getting started

Use Bower .

$ bower install damoo

Damoo will be installed to bower_components/ directory.

Or download the latest release.

Damoo requires a complete DOM with a suitable container to be fit in.

<div id="dm-main">
    <div id="dm-screen"></div>

Then, import damoo.js or damoo.min.js.

<script type="text/javascript" src="damoo.min.js"></script>

Initiate Damoo.

var damoo = new Damoo('dm-screen', 'dm-canvas', 20);

Or by binding an element.

var damoo = new Damoo(document.getElementById('dm-screen'), 'dm-canvas', 20);

Or use your own font instead of "sans-serif".

var damoo = new Damoo('dm-screen', 'dm-canvas', 20, "Arial");

And run it.;

Danmaku can be emitted by calling emit method.

// Simple
damoo.emit("Damoo is awesome!");

// With attributes
damoo.emit({ text: "Damoo is awesome!", color: "#f49" });

Enable text shadow.

damoo.emit({ text: "I got a shadow!", color: "#000", shadow: true });

Color the shadow.

damoo.emit({ text: "Hooray!", color: "#f00", shadow: { color: "#f49" } });

Danmaku can also be fixed at the center of the screen.

damoo.emit({ text: "I'M FIXED!", color: "#6f9", fixed: true });

Clear the screen.


You may hide Damoo.


And bring it back.;

If needed, you may pause the animation.


And resume it when ready to go.


Hope you enjoy the code!


Send Pull Requests to contribute!


MIT License

You can’t perform that action at this time.