Foros del Web » Creando para Internet » Flash y Actionscript »

Problema con un juego, AS2, solo me falta esto

Estas en el tema de Problema con un juego, AS2, solo me falta esto en el foro de Flash y Actionscript en Foros del Web. Que tal foreros, como les va?, espero que muy bien, bueno les dejo esta duda, espero me puedan ayudar ya que llevo 2 dias en ...
  #1 (permalink)  
Antiguo 01/05/2008, 17:51
Avatar de PabloSutra  
Fecha de Ingreso: octubre-2006
Ubicación: Guadalajara, México
Mensajes: 222
Antigüedad: 11 años, 2 meses
Puntos: 0
Problema con un juego, AS2, solo me falta esto

Que tal foreros, como les va?, espero que muy bien, bueno les dejo esta duda, espero me puedan ayudar ya que llevo 2 dias en esto y no puedo.

El detalle es el juego de que estas en el agua y tienes que saltar a las piedras para no caerte, las piedras bajan y se importan al escenario de la biblioteca aleatoriamente, hasta ahi todo bien, si el monito salta a una piedra y cae empieza a caminar junto con la piedra, hasta ahi bien, inclusive ya se ve el recorrido y la puntuacion, el problema es la caida, que si no pisa la piedra el monito se cae y aparezca en una piedra quitandole la vida, lo malo es que al primer salto caiga donde caiga sea piedra o no me "mata". no se si me puedan ayudar, les pongo pedazo del codigo donde cargo las piedras y agrego el monito al igual que el salto:

Código:
this.createEmptyMovieClip("monito",getNextHighestDepth(),{_yscale:80, _xscale:80});

monito.attachMovie("personaje","monito",this.getNextHighestDepth());

//Funcion Rango de Random 
function randRange(min:Number, max:Number):Number {
	var randomNum:Number = Math.floor(Math.random()*(max-min+1))+min;
	return randomNum;
}
//Que piedra se Empieza
rango = randRange(1, 4);

function piedrasAttach() {
	cuentaPiedras++;
	this.createEmptyMovieClip("contenedor"+cuentaPiedras,getNextHighestDepth());
	this.createEmptyMovieClip("pareja"+cuentaPiedras,getNextHighestDepth());
	pareja = randRange(1, 4);
	switch (rango) {
		case 1 :
			this["contenedor"+cuentaPiedras]._x = 218;
			rango = randRange(1, 2);
			this["pareja"+cuentaPiedras]._x = 318;
			if (pareja == 1) {

				agregarPareja();

			} else {
				this["pareja"+cuentaPiedras].removeMovieClip();
			}
			break;
		case 2 :
			this["contenedor"+cuentaPiedras]._x = 308;
			piedraPareja = randRange(0, 1);
			if (piedraPareja == 0) {
				this["pareja"+cuentaPiedras]._x = 208;
			} else {
				this["pareja"+cuentaPiedras]._x = 408;
			}
			if (pareja == 1) {

				agregarPareja();

			} else {
				this["pareja"+cuentaPiedras].removeMovieClip();
			}
			rango = randRange(1, 3);
			break;
		case 3 :
			this["contenedor"+cuentaPiedras]._x = 398;
			piedraPareja = randRange(0, 1);
			if (piedraPareja == 0) {
				this["pareja"+cuentaPiedras]._x = 298;
			} else {
				this["pareja"+cuentaPiedras]._x = 498;
			}
			if (pareja == 1) {

				agregarPareja();

			} else {
				this["pareja"+cuentaPiedras].removeMovieClip();
			}
			rango = randRange(2, 4);
			break;
		case 4 :
			this["contenedor"+cuentaPiedras]._x = 488;
			piedraPareja = randRange(0, 1);
			if (piedraPareja == 0) {
				this["pareja"+cuentaPiedras]._x = 388;
			} else {
				this["pareja"+cuentaPiedras]._x = 588;
			}
			if (pareja == 1) {

				agregarPareja();

			} else {
				this["pareja"+cuentaPiedras].removeMovieClip();
			}
			rango = randRange(3, 5);
			break;
		case 5 :
			this["contenedor"+cuentaPiedras]._x = 578;
			this["pareja"+cuentaPiedras]._x = 478;
			if (pareja == 1) {

				agregarPareja();

			} else {
				this["pareja"+cuentaPiedras].removeMovieClip();
			}
			rango = randRange(4, 5);
			break;
	}
	this["contenedor"+cuentaPiedras].attachMovie("piedra"+random(4),"piedrita",11,{_yscale:80, _xscale:80, _y:-75});
	this["contenedor"+cuentaPiedras].swapDepths(manita);
	this["contenedor"+cuentaPiedras].swapDepths(monito);
	this["contenedor"+cuentaPiedras].piedrita.punto._visible = false;
	piedras(this["contenedor"+cuentaPiedras]);

	if (!posicionado) {
		monito._x = this["contenedor"+cuentaPiedras]._x;
		monito._y = this["contenedor"+cuentaPiedras]._y;
		monito._visible = true;
		posicionado = true;
		movMonito(true,this["contenedor"+cuentaPiedras]);
	}

}
attachPiedra();
function movMonito(seguir:Boolean, donde:MovieClip) {
	if (seguir) {
		monito.onEnterFrame = function() {
			monito._y = donde._y-70;
			monito._x = donde._x;
			rotar = true;
		};
	} else {

		delete monito.onEnterFrame;


	}
}

//Funcion Agregar Pareja
function agregarPareja() {
	this["pareja"+cuentaPiedras].attachMovie("piedra"+random(4),"piedrita",11,{_yscale:80, _xscale:80, _y:-75});
	this["pareja"+cuentaPiedras].swapDepths(manita);
	this["pareja"+cuentaPiedras].swapDepths(monito);
	this["pareja"+cuentaPiedras].piedrita.punto._visible = false;
	piedras(this["pareja"+cuentaPiedras]);
}

//Funciones de las piedras (Bajar, HitTest y demas)\\
function piedras(laPiedra:MovieClip) {
	piedrasTodas.push(laPiedra);
	
laPiedra.onEnterFrame = function() {
		if (laPiedra.hitTest(monito.monito)) {
			movMonito(true,laPiedra);
		}
};
	bajaPiedra = new Tween(laPiedra, "_y", null, laPiedra._y, 650, 20, true);
	bajaPiedra.onMotionFinished = function() {
		//trace("onMotionFinished triggered");
		piedrasTodas.shift();
		laPiedra.removeMovieClip();
	};

}
piedrasAttach();

function agregaPiedras() {
	piedrasAttach();
}
intervaloPiedras = setInterval(agregaPiedras, 3000);
En fin lo demas es que se voltee el monito y la declaracion de las variables, al igual que salte a donde debe de saltar, no puse el codigo de si no toca la piedra porque por donde le haga pierde, en fin eso es todo muchisimas gracias de antemano con su paciencia de leer esta super post.

Saludos
PabloSutra
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:55.