Para detectar si hay alguna colisión entre dos sprites se puede usar el método hitTestObject( DisplayObject ) de la siguiente manera:
if ( moving_left ) {
direction = DIRECTION_LEFT;
x = x - 1;
}
for (child in 1...parent.numChildren ) {
if ( Std.is(parent.getChildAt(child), Wall) ) {
if ( parent.getChildAt(child).hitTestObject (this) ) {
x = x + 1;
}
}
}
Parece que hay un bug en la version 1.2.2 de openfl-native que causa un error de compilación al compilar en linux para la plataforma Android.
El error es el siguiente.
-compile:
[javac] Compiling 6 source files to /[PATH]/Export/android/bin/bin/classes
[javac] /[PATH]/Export/android/bin/src/org/haxe/lime/MainView.java:381: error: method onKeyChange in class Lime cannot be applied to given types;
[javac] me.HandleResult (Lime.onKeyChange (keyCode, true));
[javac] ^
[javac] required: int,int,boolean
[javac] found: int,boolean
[javac] reason: actual and formal argument lists differ in length
[javac] /[PATH]/Export/android/bin/src/org/haxe/lime/MainView.java:430: error: method onKeyChange in class Lime cannot be applied to given types;
[javac] me.HandleResult (Lime.onKeyChange (keyCode, false));
[javac] ^
[javac] required: int,int,boolean
[javac] found: int,boolean
[javac] reason: actual and formal argument lists differ in length
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] 2 errors
La solución ha consistido en actualizar la libreria openfl-native a la version 1.3.0
haxelib update openfl-native