Graphics Programs Reference
In-Depth Information
if(GLES20Renderer._enemies.size() > 0) {
float[] enemiesMMatrix = new float[16];
ListIterator<Enemy> enemiesIterator =
GLES20Renderer._enemies.listIterator();
while(enemiesIterator.hasNext()) {
boolean renderEnemy = true;
Enemy enemy = enemiesIterator.next();
enemy.interpolateXY();
float enemyOX = enemy.getSourcePositionX();
float enemyOY = enemy.getSourcePositionY();
float enemyX = enemy.getDestinationPositionX();
float enemyY = enemy.getDestinationPositionY();
if((enemyX > -20 && enemyX < 0) && (enemyY > -20 &&
enemyY < 0)) {
enemiesIterator.remove();
} else {
if(GLES20Renderer._missiles.size() > 0) {
ListIterator<Missile> missilesIterator =
GLES20Renderer._missiles.listIterator();
while(missilesIterator.hasNext()) {
Missile missile = missilesIterator.next();
float[] missileCenter = new float[]
{missile.getDestinationPositionX(),missile.getDestinationPositionY(),0};
// change the coordinate w.r.t global center,
instead of {10.0005, 10.0, 0.1005}
float[] difference = new
float[]{missileCenter[0]-(enemyX+10),missileCenter[1]-(enemyY+10),0};
if(Matrix.length(difference[0], difference[1], 0)
< 3) {
renderEnemy = false;
missilesIterator.remove();
enemiesIterator.remove();
// using break to exit
while(missilesIterator.hasNext()) loop
break;
}
Search WWH ::




Custom Search