En el siguiente código "distancia_txt.text" me tiene que mostrar la distancia entre 2 puntos, pero solo me muestra un "UNDEFINED" ¿alguien puede decirme que hago mal?
var x:Number;
var y:Number;
var distancia:Number;
onEnterFrame = function ()
{
cuadrado1_mc._x = 0;
cuadrado1_mc._y = 0;
// startDrag(cuadrado1_mc);
cuadrado2_mc._x = 130;
cuadrado2_mc._y = 130;
// Colision:
x = cuadrado2_mc._x - cuadrado1_mc._x;
y = cuadrado2_mc._y - cuadrado1_mc._y;
distancia = math.round(math.sqrt(x * x + y * y));
distancia_txt.text = distancia;
};
S2.
Prueba con:
distancia = Math.round( Math.sqrt(x * x + y * y));
Recuerda que AS 2.0 es sensible a mayúsculas/minúsculas.
P.D.: ¿Por qué dices "Actionscript avanzado"?
Que fallo mas tonto, por dios O_O
Muchas gracias.
Lo de ActionScript avanzado... nose, me hace sentir mas macho :rolleyes: . Quiero decir, que para mi es avanzado dado mis conocimientos de programación.
Una duda mas sés:
¿Cómo declaro una constante?
S2.
Que yo sepa, las constantes en Flash no existen.
Una duda mas.
¿Cual es la diferencia, al declarar una variable, en estos 2 casos?:
var variable1;
variable 2;
Es decir, ¿en que casos no se utiliza var?, no creo que los resultados sean los mismos.
S2.
Supongo que te refieres a la diferencia entre
var a = 1;
y
a = 1;
Lo primero declara la variable 'a' como local, teniendo solo validez en el contexto actual (función, if, for...).
El segundo caso (sin poner la mano en el fuego, que luego hace pupa), creo que la declara global. En Javascript juraría que es así, y en Flash creo que también, pero vamos... eso lo puedes probar fácilmente.
Estoy en casa y no tengo el Flash instalado, solo lo uso en el curro por obligación (asco), pero si tienes interés lo puedo probar.
Nada hombre, gracias de nuevo. Es tal y como comentas.
S2.
Bueno, me acabo de meter en un fregao y tengo un "pequeño" problema con las colisiones
Trato de hacer un mini-juego de plataformas. Abajo dejo el código.
La Situación:
1)Tengo dos 2 clips de película "Player_mc" y Escenario_mc".
2)Al caer desde una altura "Player_mc" debe pararse cuando detecte cualquier pixel de "Escenario_mc". Y así ocurre.
3)EL PROBLEMA es que la posición de parada no coincide de forma precisa, siempre se pasa unos píxeles dando la sensación de que "Player_mc" se hunde en el suelo. Entiendo por que ocurre pero no se resolverlo.
¿Cual es la forma mas habitual de hacer este tipo de juegos en Flash?
grav = 0;
//MitadAnchoPlayer = Player_mc._width/2;
AltoPlayer = Player_mc._height;
function MovePlayer(player) {
fall = true;
//Teclado:
if (Key.isDown(Key.RIGHT)) {
player._x += vel;
}
if (Key.isDown(Key.LEFT)) {
player._x -= vel;
}
if (Key.isDown(Key.SPACE) && !jumping) {
jumpingVel = 10;
jumping = true;
}
//Salto:
if (jumping == true) {
fall = false;
jumpingVel -= vel;
if (jumpingVel<=-10) {
jumpingVel = -10;
}
player._y -= jumpingVel;
}
//Colisión:
if (Escenario_mc.hitTest(player._x, player._y, true)) {
player._y -=1;
jumping=false;
fall = false;
vel = 1;
grav = 0;
}
//Caida
if (fall) {
velCaida = 0.5;
grav += velCaida;
if (grav>=14) {
grav = 14;
}
player._y += grav;
}
}
//MAIN
onEnterFrame = function () {
// datos_txt.text =
MovePlayer(Player_mc);
};
S2.