Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Super fast 2D rendering engine for browserify, that uses WebGL with a context 2d fallback.
This is a fork of Pixi.JS mainly for use with browserify, but has also went in a slightly different direction in terms of programming style.
node-pixi matches the public Pixi.JS API, but now modular with browserify. In a later major version, the public API and architecture may change to no longer match Pixi.JS. If/when such a split occurs the project's major version and branching will be updated occordingly, and the latest major version with full compatibility with Pixi.JS will containue to be maintained.
Basically I am open to MAJOR refactors if appropriate. In the future, the goals may differ from Pixi.JS, and I may streamline things to only on WebGL, and maybe sooner rather than later (Saying goodbye to context 2d). This is all a maybe, as the web is moving fast, and Pixi.JS may actually make this move before this project.
The aim of this project is to provide a fast lightweight 2D library that works across all devices. The Pixi renderer allows everyone to enjoy the power of hardware acceleration without prior knowledge of WebGL. Also its fast.
This content is released under the (http://opensource.org/licenses/MIT) MIT License.
node-pixi can be installed with Node and NPM.
npm install pixi
Once installed as a node_module
, it can now be used in node and with browserify.
Example main.js:
// Require pixi module
var pixi = require('pixi');
// You can use either WebGLRenderer or CanvasRenderer
var renderer = pixi.WebGLRenderer(800, 600);
document.body.appendChild(renderer.view);
var stage = new pixi.Stage();
var bunnyTexture = pixi.Texture.fromImage("bunny.png");
var bunny = new pixi.Sprite(bunnyTexture);
bunny.position.x = 400;
bunny.position.y = 300;
bunny.scale.x = 2;
bunny.scale.y = 2;
stage.addChild(bunny);
requestAnimationFrame(animate);
function animate() {
bunny.rotation += 0.01;
renderer.render(stage);
requestAnimationFrame(animate);
}
You can completely bypass requiring the main pixi
module, and go directly for the submodules. Doing this makes sure you only require what you need when you need it.
Example main.js:
// Require modules
var Sprite = require('pixi/display/Sprite');
var Stage = require('pixi/display/Stage');
var Texture = require('pixi/textures/Texture');
var WebGLRenderer = require('pixi/renderers/webgl/WebGLRenderer');
var renderer = WebGLRenderer(800, 600);
document.body.appendChild(renderer.view);
var stage = new Stage();
// ... etc ...
node-pixi can be compiled with Grunt. If you don't already have this, go install Node and NPM then install the Grunt Command Line.
npm install -g grunt-cli
Get the source:
git clone https://github.com/drkibitz/node-pixi.git
Within your clone repository, install the devDependencies
using NPM:
cd path/to/clone/
npm install
You should now be able to build node-pixi with Grunt:
grunt
Look in the Gruntfile.js
for task configuration.
It's important to clone the source, and not assume that the source is the same is what is published to NPM. The package on NPM is and should be considered a distributed release only, and is not compatible with the build process outlined here. To avoid any confusion about this, the published package.json has NO devDependencies
, while the devDependencies
of the source package.json
remain.
The source may still be installed via NPM directly from Github. There are a few ways to define a URL to do this, just read npm-faq. If meant as a package dependency, I prefer using Github tarballs rather than the Git protocol to avoiding transferring the history. This is a significantly faster installation:
npm install https://github.com/drkibitz/node-pixi/archive/master.tar.gz
The default task is only slightly different from the task meant for continious integration. Both tasks build and test the bundles for debug and release, and copy the bundles to the dist directory, which are meant to be committed only by a repository maintainer. The difference is the default task creates project analysis reports using plato, and the ci task submits code coverage.
Want to contribute to node-pixi? Just make a pull request or a suggestion on Github. Please make sure you write tests, and run them before committing changes.
If you followed the steps in the Build section, then you can now run the tests locally:
grunt test
Gruntfile.js
)grunt travis
FAQs
Super fast 2D rendering engine for browserify, that uses WebGL with a context 2d fallback.
The npm package pixi receives a total of 185 weekly downloads. As such, pixi popularity was classified as not popular.
We found that pixi demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.