1.0.0 • Published 4 years ago
@lambdataro/akashic-primitives v1.0.0
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 test1.0.0
4 years ago