Comunidad de diseño web y desarrollo en internet online

InteligenciaArtificial en action script 3.0

Citar            
MensajeEscrito el 12 Sep 2013 11:27 am
Hola:
Estoy haciendo un juego con un tutorial, hay un bloque que me da error 1009.

Es una linea en inteligencia artificial

public function Enemigo( stageRef:Stage, target:Nave )
{
this.stageRef = stageRef;
this.target = target;//blanco a disparar

x = Math.random() * stageRef.stageWidth;
y = -5;

addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}

private function loop( e:Event):void
{
vy += ay;
y += vy;

if (y > stageRef.stageHeight)
{
removePantalla();
}

if (y - 15 < target.y && y + 15 > target.y)
{
fuegoEnemigo();//esto es igual a la bola roja.(bala)
}
}
El error me dice que esta en la linea if (y - 15 < target.y && y + 15 > target.y),.

POR QUEEE. Gracias por vuestra ayuda.

Por evab

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Sep 2013 11:28 am

evab escribió:

Hola:
Estoy haciendo un juego con un tutorial, hay un bloque que me da error 1009.

Es una linea en inteligencia artificial

public function Enemigo( stageRef:Stage, target:Nave )
{
this.stageRef = stageRef;
this.target = target;//blanco a disparar

x = Math.random() * stageRef.stageWidth;
y = -5;

addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}

private function loop( e:Event):void
{
vy += ay;
y += vy;

if (y > stageRef.stageHeight)
{
removePantalla();
}

if (y - 15 < target.y && y + 15 > target.y)
{
fuegoEnemigo();//esto es igual a la bola roja.(bala)
}
}
El error me dice que esta en la linea if (y - 15 < target.y && y + 15 > target.y),.

POR QUEEE. Gracias por vuestra ayuda.

Por evab

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Sep 2013 04:58 pm
BuenAS:

¿Cuando instancias la clase enemigo le pasas como segundo parámetro la nave? Parece que es la variable target (una instancia de Nave) lo que no encuentra (por lo que has comentado)

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 12 Sep 2013 09:57 pm
Te hago llegar mis variables

private var stageRef:Stage;
private var vy:Number = 3;//velocidad desde y
private var ay:Number = .4 ;// velocidad que aumentara "aceleracion"

private var target:Nave;

Ademas tengo otro as3 que hace referencia a nave.

public class EnemigoBalas extends MovieClip
{
private var stageRef:Stage;
private var target:Nave;//target es igual a objetivo.EN FLASH SE TIENE QUE UTILIZAR TARJET.


private var vx:Number;


public function EnemigoBalas(stageRef:Stage, target:Nave, x:Number, y:Number, vx:Number):void
{
this.stageRef = stageRef;
this.target = target;
this.x = x;
this.y = y;
this.vx = vx;//velocidad de la bala del enemigo por x

addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
// constructor code
}

private function loop(e:Event) : void
{
x += vx;
if ( x > stageRef.stageWidth || x < 0)
removePantalla();
}

private function removePantalla() : void
{
if (stageRef.contains(this))
stageRef.removeChild(this);
}

}
}

De nuevo muchas gracias

Por evab

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.