regniraj / pixi.js-haxe-extern

small haxe extern for pixi.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pixi.js-haxe-extern

small extern to be used with haxe js pixi.js demo using pixi.js-haxe-extern

Usage

package test;

import js.Dom;
import js.Lib;
import pixi.AssetLoader;
import pixi.CommonRenderer;
import pixi.DisplayObjectContainer;
import pixi.Global;
import pixi.PIXI;
import pixi.Sprite;
import pixi.Stage;
import pixi.WebGLRenderer;

class Main 
{

	
static	var aliens:Array<Dynamic> = [];
static 	var count:Float = 0;
static var  alienFrames:Array<String> = ["eggHead.png", "flowerTop.png", "helmlok.png", "skully.png"];
static var alienContainer:DisplayObjectContainer = new DisplayObjectContainer();
static var renderer:CommonRenderer ;
static var stage:Stage = new Stage(0xFFFFFF);
	
	static	function animate() {
	
	    Global.request(animate);	
	    // just for fun, lets rotate mr rabbit a little
	    for ( i in 0...100) 
		{
			var alien = aliens[i];
			alien.rotation += 0.1;
		}
		
		count += 0.01;
		alienContainer.scale.x = Math.sin(count);
		alienContainer.scale.y = Math.sin(count);
		
		alienContainer.rotation += 0.01;
	    // render the stage   
	    renderer.render(stage);
	}
	
	
	static	function onAssetsLoaded()
	{
		
		// create a texture from an image path
		// add a bunch of aliens
		for (i in 0...100) 
		{
			var frameName = alienFrames[i % 4];
			
			// create an alien using the frame name..
			var alien = Sprite.fromFrame(frameName);
			
			/*
			 * fun fact for the day :)
			 * another way of doing the above would be
			 * var texture = PIXI.Texture.fromFrame(frameName);
			 * var alien = new PIXI.Sprite(texture);
			 */
			
			alien.position.x = Math.random() * 800 - 400;
			alien.position.y = Math.random() * 600 - 300;
			alien.anchor.x = 0.5;
			alien.anchor.y = 0.5;
			aliens.push(alien);
			alienContainer.addChild(alien);
		}
		
		// start animating
		Global.request( animate );
		
		
	}	
	
	
	static function main() 
	{
		// create an array of assets to load
	var assetsToLoader:Array<String> = [ "SpriteSheet.json"];
	
	// create a new loader
	var loader:AssetLoader = new AssetLoader(assetsToLoader);
	
	// use callback
	loader.onComplete = onAssetsLoaded;
	
	//begin load
	loader.load();
	
	
	// holder to store aliens
	
	
	

		
	// create an new instance of a pixi stage
	
	
	// create a renderer instance.
renderer= PIXI.autoDetectRenderer(800, 600);
		
	// add the renderer view element to the DOM
	
	
		Lib.document.body.appendChild(renderer.view);
	
	
	// create an empty container
	
	alienContainer.position.x = 400;
	alienContainer.position.y = 300;
	
	stage.addChild(alienContainer);
	

	


	}
	
}

outputs Demo link

About

small haxe extern for pixi.js


Languages

Language:Haxe 55.2%Language:JavaScript 44.8%