Skip to content

Instantly share code, notes, and snippets.

@noonat
noonat / Main.hx
Created August 10, 2011 21:54
Apple property list parser in HaXe
/**
* Apple property list parser.
*
* For example, the following property list XML:
*
* <?xml version="1.0" encoding="UTF-8"?>
* <plist version="1.0">
* <dict>
* <key>foo</key>
* <integer>1</key>
@noonat
noonat / Game.as
Created June 15, 2011 00:27
AIR 2.7 Android Example Makefile
package {
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.utils.getTimer;
public class Game extends Sprite {
private var _ballX:Number;
private var _ballY:Number;
@noonat
noonat / Main.as
Created June 11, 2011 18:25
Tile connectivity example
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.events.Event;
<type name="Test_TEST_BITMAP" base="Class" isDynamic="true" isFinal="true" isStatic="true">
<extendsClass type="Class"/>
<extendsClass type="Object"/>
<accessor name="prototype" access="readonly" type="*" declaredBy="Class"/>
<factory type="Test_TEST_BITMAP">
<extendsClass type="mx.core::BitmapAsset"/>
<extendsClass type="mx.core::FlexBitmap"/>
<extendsClass type="flash.display::Bitmap"/>
<extendsClass type="flash.display::DisplayObject"/>
@noonat
noonat / nape_ray.patch
Created March 9, 2011 02:02
Patch to add Ray.group and Ray.sensor to allow rayCast filtering.
diff --git a/nape/cx-src/nape/dynamics/Collide.cx b/nape/cx-src/nape/dynamics/Collide.cx
index a9159c6..713de8c 100644
--- a/nape/cx-src/nape/dynamics/Collide.cx
+++ b/nape/cx-src/nape/dynamics/Collide.cx
@@ -395,22 +395,28 @@ class RayCast {
static public inline var FAIL:Float = 10.0; //>1 for easy comparisons
static public inline function rayCircle(r:Ray,c:Circle) {
- vec_new(ac); vec_sub(r.a,c.centre.p,ac);
- var A = vec_lsq(r.v);
@noonat
noonat / Test.as
Created March 7, 2011 03:40
Nape addCbPreBegin bug
package {
import flash.Boot;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;
import flash.events.Event;
import nape.callbacks.Callback;
import nape.callbacks.CbType;
import nape.dynamics.Arbiter;
@noonat
noonat / AGALMiniAssembler.as
Created February 28, 2011 09:02
Adobe's shader assembler, used by most Molehill examples.
// ================================================================================
//
// ADOBE SYSTEMS INCORPORATED
// Copyright 2010 Adobe Systems Incorporated
// All Rights Reserved.
//
// NOTICE: Adobe permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// ================================================================================
<?php
/**
* Return true if the email address is valid.
* From http://www.linuxjournal.com/article/9585.
*
* @return bool
*/
function isValidEmail($email) {
$isValid = true;
<!DOCTYPE html>
<html>
<body>
<canvas id="canvas" width="480" height="480"></canvas>
<script type="text/javascript">
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
context.strokeStyle = '#fff';
context.fillStyle = '#000';
// ECMAScript 5 object proxy as JS
(function(exports) {
function getPropertyDescriptor(obj, propertyName) {
print("getPropertyDescriptor", obj, propertyName);
var desc = Object.getOwnPropertyDescriptor(obj, propertyName);
if (desc !== undefined) {
return desc;
} else {