Flash - ayuda con actionscript

 
Vista:
sin imagen de perfil

ayuda con actionscript

Publicado por Carla (5 intervenciones) el 09/02/2010 18:46:40
Hola necesito que alguien me ayude, hice un puzzle donde tengo que ubicar cada pieza (según la forma) en su lugar; hasta acá, todo me funcionó, ahora lo que yo necesito es que una vez que se haya armado el puzzle salga un mensaje o música a modo de festejo.
Hace una semana que estoy con esto y no lo logro sacar, lo he hecho en otros lenguajes y todo bien pero actionscript me está costando más de la cuenta.

Les cuento que hice:
A los objetos móviles los convertí primero en botón, luego les agregué un cuadrado, con nombre centro, que es un clip de pelicula, (lo mismo le hice a los objetos donde debo poner los obj. móviles), para detectar el contacto. El objeto más este centro juntos los convertí en clip de pelicula, ahora a este clip de pelicula le puse el siguiente código:

onClipEvent (load)
{
var x = this._x;
var y = this._y;
}

onClipEvent (enterFrame) {
if (this.soltar == "si")
{
distancia_x = Math.round((Number(x)-Number(this._x))/2);
distancia_y = Math.round((Number(y)-Number(this._y))/2);
if (Math.abs(distancia_x)<=1 and Math.abs(distancia_y)<=1)
{
}
else
{
this._x = this._x+distancia_x;
this._y = this._y+distancia_y;
}
}
}

para saber la ubicación del objeto, y al botón le puse este:

on (press)
{
soltar = "no";
this.startDrag();
}
on (release, releaseOutside)
{
if(centro.hitTest(_parent.obj.centro))
{
soltar = "centro";
this._x = _parent.obj._x;
this._y = _parent.obj._y;
}
else
{
soltar = "si";
}
stopDrag();
}

Donde obj debe coincidir con el nobre del objeto donde debe ir ubicado.

Si alguien puede ayudarme se lo agradecería.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda con actionscript

Publicado por Andrés (255 intervenciones) el 10/02/2010 17:31:55
El problema es que no pudes sacar la musica o mensaje cuando termina de armar el puzzle?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ayuda con actionscript

Publicado por carla (5 intervenciones) el 11/02/2010 00:05:53
Claro, no doy en la tecla con el código.
Lo que yo quiero es que cuando se haya completado el puzzle, o sea esten todas las piezas en su lugar, de un mensaje del estilo Excelente, Muy Bien ó música o lo que sea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con actionscript

Publicado por Andrés (255 intervenciones) el 11/02/2010 15:25:05
Podrias poner un contador cada vez que coloque una pieza correctamente, y verificar que cuando el contador sea igual al numero total de piezas, salga el mensaje. que seria en un nuevo MovieClip.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ayuda con actionscript

Publicado por Carla (5 intervenciones) el 11/02/2010 21:30:17
El tema es que no se donde poner el contador, ¿como hago para utilizar uno para todos los movie clips? ¿Donde lo tengo que colocar?
Abrí esta casilla de mail y mandé el archivo fla, si quieres puedes darle una mirada.

[email protected]
contraseña: mesada42

Gracias por tu ayuda!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda con actionscript

Publicado por Andrés (255 intervenciones) el 11/02/2010 22:10:48
puedes poner el contador cada vez que suelta la pieza del puzzle en un lugar correcto. La variable del contador debe estar en el clip contenedor de todos los demas clips. Y debes hacer una funcion cada vez que aumentas el contador para ver si ya llego al total
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Juego con actionscript

Publicado por Nohidden (1 intervención) el 25/02/2010 01:22:02
Hola.. estoy haciendo un juego muy sencillo con actionScript
de momento el codigo que tengo hace que.. de la mesa de billar se mueva el palo y la pelota, el problemas esque la bola no se mueve a todas las direcciones..!
se que eso se hace con colisiones, pero no tengo muy claro eso.
lo tengo hecho con macromedia flah8.
si alguien me puede hechar una mano, para mejorar mi juego.
solo quiero que al pegarle a la pelota se vaya aunq sea a algun agujero..!
NOTA: he puesto el codigo como lo tenia antes, (primerCodigo) y luego he pegado mas abajo el codigo como lo tengo actualmente(segundo codigo).

Por favor, que alguien me heche una mano, para mejorarlo!!!

//////////////////////Primer codigo

var stickStart:Number = stick._x-200;
var stickStop:Number = stick._x + 200;
var StickStartAngulo:Number= Stick._y;
var StickAngulo:Number = 0;
var ballStart:Number = ball._x;
var ballStart:Number = ball._y;
var ballStop:Number = ball._x - 450; //limite de la pelota
var isBallRolling:Boolean = false;
var rollDistance:Number = 0;
var isBallRolling:Boolean = false;

stick.onPress = function() {
if(!isBallRolling) {
ball._x = ballStart;
this.startDrag(false, stickStart, this._x, stickStop, this._y-250); //movimiento del palo

}
}

stick.onRelease = function() { //potencia de la pelota
if(!isBallRolling) {
// this.height = 200;
this.stopDrag();
StickAngulo = this._y - StickStartAngulo;
avanceY = StickAngulo;
var power:Number = Math.round(this._x - stickStart) / 100;
rollDistance = Math.round((ballStartX - ballStop) * power * 2);
topDistance = rollDistance;
this._x = stickStart;
isBallRolling = true;
}
}
ball.onEnterFrame = function() { //onEnter event mueve objeto_bola
if(isBallRolling) {
if(this._y <20) //Para rebotes
avanceY = - avanceY;
if(this._y > Stage.height-20)
avanceY = - avanceY;
if(this._x <20)
avanceX = -avanceY;

this._x-= avanceX;
this._y-= avanceY;
rollDistance -=5;
if(rollDistance <= 0) {
isBallRolling = false;

}
}
}


///////////////////////////////////////////////////////////////////////////////////Segundo codigo modificado
import mx.transitions.Tween;
import mx.transitions.easing.*;

var stickStart:Number = stick._x-200;
var stickStop:Number = stick._x + 200;

//Posicion del Palo: se mantiene cerca a la bola
stick._x = ball._x+203;
stick._y = ball._y+4;

ball.onPress = function() {
this.startDrag(false, 12, 20, 490,362);
};

ball.onRelease = function() {

this.stopDrag();
}

stick.onPress = function() {
this.startDrag(false, 180, 380, 690,10);
};

//Se mueve el palo simulando el golpe de atras hacia adelante
stick.onRelease = function() {

this.stopDrag();

if(stick._x<=ball._x+203 and stick._x>=ball._x+169 and stick._y<=ball._y+20 and stick._y>=ball._y-12){
stick.gotoAndPlay(2);

}



};


function go_ball() {

//La bola se empieza a mover: se empieza a mover cuando termina el movimiento del palo
if(ball._x>12){
var tween_ball:Tween = new Tween(ball, "_x", Regular.easeOut, ball._x, ball._x-60, 0.6, true);
}


tween_ball.onMotionFinished = function() {

var tween_palox:Tween = new Tween(stick, "_x", Regular.easeOut, stick._x, ball._x+203, 0.7, true);
var tween_paloy:Tween = new Tween(stick, "_y", Regular.easeOut, stick._y, ball._y+4, 0.7, true);
};

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar