Skip to content

Instantly share code, notes, and snippets.

@azrafe7
azrafe7 / TestWorld.as
Created March 29, 2014 20:39
Collision tests for FlashPunk (testing new Circle and Polygon classes too)
// see https://github.com/azrafe7/FlashPunk/commit/475c4c4fb11a3554261ba871f64f16c5ddd53693
package
{
import flash.display.BlendMode;
import flash.geom.Point;
import flash.system.System;
import flash.text.AntiAliasType;
import flash.text.TextField;
import flash.text.TextFormat;
@azrafe7
azrafe7 / Main.hx
Created March 29, 2014 20:42
Convert Grid to a Masklist of coalesced Hitboxes (HaxePunk) (surprisingly less performant)
import com.haxepunk.debug.Console.TraceCapture;
import com.haxepunk.Engine;
import com.haxepunk.Entity;
import com.haxepunk.graphics.Text;
import com.haxepunk.HXP;
import com.haxepunk.masks.Grid;
import com.haxepunk.masks.Hitbox;
import com.haxepunk.masks.Masklist;
import com.haxepunk.Scene;
import com.haxepunk.utils.Draw;
@azrafe7
azrafe7 / Player.as
Created April 28, 2014 19:57
Camera follow (FlashPunk)
package
{
import flash.geom.Point;
import flash.geom.Rectangle;
import net.flashpunk.Entity;
import net.flashpunk.FP;
import net.flashpunk.graphics.Image;
import net.flashpunk.utils.Draw;
import net.flashpunk.utils.Input;
import net.flashpunk.utils.Key;
@azrafe7
azrafe7 / NullableAbstractInt.hx
Created May 24, 2014 23:43
Testing Nullable (Abstract over Int)
import flash.system.System;
import haxe.PosInfos;
class Main {
static function main() {
var test:TestSuite = new TestSuite(); // haxe.unit.* was overlapping traces in Flash so...
test.testNull();
trace("[ALL TESTS PASSED]");
TestSuite.quit();
@azrafe7
azrafe7 / Main.hx
Created May 25, 2014 18:57
FlxColor tests
import flash.system.System;
import haxe.PosInfos;
import flixel.util.FlxColor;
class Main {
static function main() {
var test:TestSuite = new TestSuite();
test.testColor_Color();
test.testColor_Int();
@azrafe7
azrafe7 / AABBNoTreeTest.hx
Created June 14, 2014 21:05
AABB range queries test (no fancy datastructures, just cache optimized)
package;
import ds.AABB;
import flash.display.Graphics;
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
@azrafe7
azrafe7 / FlxPool.hx
Created June 23, 2014 19:53
Modified FlxPool class
package flixel.util;
import flixel.util.FlxDestroyUtil.IFlxDestroyable;
/**
* A generic container that facilitates pooling and recycling of objects.
* WARNING: Pooled objects must have parameterless constructors: function new()
*/
@:generic
class FlxPool<T:IFlxDestroyable>
@azrafe7
azrafe7 / FlxPoint.hx
Created June 23, 2014 20:00
Ugly FlxPoint
package flixel.math;
import flixel.FlxG;
import flash.geom.Point;
import flixel.util.FlxPool;
import flixel.util.FlxPool.IFlxPooled;
import flixel.util.FlxStringUtil;
/**
* Stores a 2D floating point coordinate.
@azrafe7
azrafe7 / Main.hx
Last active August 29, 2015 14:06
[OpenFl 2.0] Pixel values inconstistency
package;
import openfl.Assets;
import openfl.display.Sprite;
import openfl.events.KeyboardEvent;
import openfl.system.System;
#if !flash
import sys.io.File;
#end
@azrafe7
azrafe7 / Main.hx
Created September 25, 2014 14:40
FullScreen with HaxePunk 2.5.3
import com.haxepunk.Engine;
import com.haxepunk.HXP;
import com.haxepunk.Scene;
import com.haxepunk.utils.Input;
import com.haxepunk.utils.Key;
import flash.system.System;
import openfl.display.StageDisplayState;
import openfl.system.Capabilities;