@lambdataro/akashic-primitives
v1.0.0
Published
Graphics drawing primitives for Akashic Engine
Downloads
3
Readme
akashic-primitives
akashic-primitives
は直線や楕円といったグラフィックプリミティブを akashic-engine で利用するためのライブラリです。
このライブラリは A. Schiffler 氏による SDL_gfx/SDL2_gfx ライブラリ のコードやアルゴリズムを元に作られています。 SDL_gfx ライブラリと SDL2_gfx ライブラリはどちらも zlib license で公開されています。
SDL2_gfx:
(C) A. Schiffler, aschiffler [at] ferzkopp.net 2012-2018, licensed under the zlib license
SDL_gfx:
(C) A. Schiffler, aschiffler [at] ferzkopp.net 1999-2018, licensed under the zlib license
akashic-primitives
は g.Renderer
の _getImageData
と _putImageData
を利用して描画を行います。
Canvas レンダラでこれらのメソッドが利用できる一方、WebGL レンダラでは利用できないので、
game.json
の renderers
に ["canvas"]
の指定が必要となります。
{
...
"renderers": ["canvas"]
}
プリミティブ一覧
点
pixel()
: ピクセルを描く
線
hline()
: 水平線を描くvline()
: 垂直線を描くline()
: 線を描くarc()
: 円弧を描くbezier()
: ベジェ曲線を描く
図形
rectangle()
: 長方形を描くellipse()
: 楕円を描くcircle()
: 円を描くroundedRectangle()
: 角丸長方形を描くpolygon()
: ポリゴンを描くtrigon()
: 三角形を描くpie()
: 扇形を描く
塗りつぶした図形
box()
: 塗りつぶした長方形を描くfilledEllipse()
: 塗りつぶした楕円を描くfilledCircle()
: 塗りつぶした円を描くroundedBox()
: 塗りつぶした角丸長方形を描くfilledPolygon()
: 塗りつぶしたポリゴンを描くfilledTrigon()
: 塗りつぶした三角形を描くfilledPie()
: 塗りつぶした扇形を描く
使い方
線を引くには以下のようにします。
var lib = require("@lambdataro/akashic-primitives");
function main() {
var scene = new g.Scene({ game: g.game });
scene.onLoad.addOnce(function () {
var surface = g.game.resourceFactory.createSurface(200, 200);
var rgba = new Uint8ClampedArray([0, 0, 255, 255]);
lib.primitives.line(surface.renderer(), 50, 50, 150, 100, rgba);
new g.Sprite({
scene: scene,
parent: scene,
src: surface,
});
});
g.game.pushScene(scene);
}
module.exports = main;
他の形状は test/
以下を参照してください。
ビルド方法
$ npm install
$ npm run build
テスト方法
$ npm run prepare
$ npm test