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

No muestra el segunod fotograma

Estas en el tema de No muestra el segunod fotograma en el foro de Flash y Actionscript en Foros del Web. Hola, soy totalmente nuevo en Actrioscript. Encontré código de ejemplos en la web y lo probé en dos películas por separado, hasta ahí todo ok. ...
  #1 (permalink)  
Antiguo 25/01/2008, 15:58
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
No muestra el segunod fotograma

Hola, soy totalmente nuevo en Actrioscript.

Encontré código de ejemplos en la web y lo probé en dos películas por separado, hasta ahí todo ok.
El tema está en que en una tercera película coloqué en una acción del primer fotorgrama lo que está en una de las películas y en la acción del segundo fotograma puse la segunda película. Cuando presiono CTRL + F3 veo bien la primera acción y la segunda no aparece.

El código de la acción correspondiente del primer fotograma es:
Código:
MovieClip.prototype.drawCircle = function (radius, x, y) {
	var angleDelta = Math.PI / 4;
	var ctrlDist = radius/Math.cos(angleDelta/2);
	var angle = 0;
	var rx, ry, ax, ay;
	this.moveTo(x + radius, y);
	for (var i = 0; i < 8; i++) {
		angle += angleDelta;
		rx = x + Math.cos(angle-(angleDelta/2))*(ctrlDist);
		ry = y + Math.sin(angle-(angleDelta/2))*(ctrlDist);	
		ax = x + Math.cos(angle)*radius;
		ay = y + Math.sin(angle)*radius;
		this.curveTo(rx, ry, ax, ay);
	}
}

//MovieClip.prototype.enmascarar = function(radio){
	var radio:Number = 17;
	this._alpha = 0;
	var prof:Number = _root.getNextHighestDepth(); 		// Profundidad de los clips a usar
	var ancho:Number = this._width;						// Ancho del clip a enmascarar
	var alto:Number = this._height;						// Alto del clip a enmascarar
	var cx:Number = Math.floor(ancho/(radio*2))+2;		// Número de círculos por fila
	var cy:Number = Math.floor(alto/radio)+1;			// Número de círculos por columna
	var cant:Number = cx * cy+cx;						// Cantidad total de círculos
	var destino:MovieClip = this;						// Identificador del clip
	_root.createEmptyMovieClip("maskareitor",prof);		// Creamos el clip de la máscara
	prof++;												// Profundidad más
	var x:Number = 0									// Columna q le toca a cada círculo
	var y:Number=1										// Fila que le toca a cada círculo
	var d:MovieClip;									// Identificador del círculo
	var control:Number = 0;
	diagonal = 0, posDiag = 1;
	for(i=1;i<(cant+1);i++){							// Bucle de creación de los círculos
		_root.maskareitor.createEmptyMovieClip("circulo" + i,prof);	// Creamos el clip vacío
		d = _root.maskareitor["circulo" + i];			// Identificador del círculo actual
		d._x = x;										// Calculamos la posición X
		d._y = radio*(y-1);								// Calculamos la posición Y
		d.i = i;										// Asignamos el número
		
		// Fórmulas para controlar el orden de aparición
		d.orden = diagonal+posDiag;
		posDiag++;
		if(posDiag%(cx) == 0){
			posDiag = 1;
			diagonal +=0.5;
		}
		// d.orden = random(cant); <-- para hacerlos aleatorios
		//--------------------------------------------------------
		
		// POSICIONAMIENTO----------------------------------------
		if(y%2!=0){
			x+=(radio*2);
			if(i%(cx)==0 && i!=0){
				x=-radio;
				y++;
			}
		}else{
			x+=(radio*2);
			if(i%(cx)==0){
				x = 0;
				y++;
			}
		}	
		//---------------------------------------------------------
		//---------------------------------------------------------
		d.beginFill(0xFF0000,100);			// Dibujamos el círculo
		d.drawCircle(radio,0,0);
		d.endFill();
		prof++;
		d._xscale = 0;						// Lo escalamos a 0
		d._yscale = 0;
		d.tiempo = 0;							// Temporizador
		d.onEnterFrame = function(){
			if(this.tiempo == this.orden){		// Si le toca agrandarse
				if(this._xscale <100){
					this._xscale += (101-this._xscale)/7;
					this._yscale = this._xscale;
				}else{
					delete this.onEnterFrame;
					control +=100;
					if(control == (cant*100)){
						_root.maskareitor.removeMovieClip();	// Borra la máscara madre
						destino.setMask(null);					// Quita máscara						
						//trace("fin");
					}
				}
			}else{
				this.tiempo +=0.5;
			}			
		}
		
	}	
	this.setMask(_root.maskareitor);
	this._alpha = 100;
//}
//c1.enmascarar(17);
//Poner en el fotograma donde queramos hacer la pausa
stop();
x = 3; //valor en segundos de la pausa
//En este caso, cada 5000 milisegundos
//llamamos a la función pausa
miIntervalo = setInterval(pausa, x*1000);
function pausa(){
        //borramos miIntervalo
        clearInterval(miIntervalo);
        //avanzamos al siguiente frame
	nextFrame();
}
y el del segundo es:

Código:
//proto q movera las letras
MovieClip.prototype.carusel = function() {
	this.onEnterFrame = function() {
		if (_root._xmouse>centrox) {
			direccion = -1;
		} else {
			direccion = 1;
		}
		velocidad = Math.abs((_root._xmouse-centrox)/(275/velocidadmaxima));
		this.angulo += (velocidad*direccion);
		this._x = centrox+Math.cos((Math.PI/180)*this.angulo)*2*radio;
		this._y = centroy+Math.sin((Math.PI/180)*this.angulo*7)*radio/-10;
		this.z = Math.sin((Math.PI/180)*this.angulo)*radio;
		this._alpha = this._yscale=this._xscale=(100*distanciafocal)/(distanciafocal+this.z);
	};
};
//para ir sumando la profundidad
function maxprofundidad() {
	return ++profundidad;
}
//inicio variables
centrox = 500/2;
centroy = 500/2;
radio = 100;
velocidadmaxima = 3;
distanciafocal = 180;
listaLetras = new Array();
//creando los titulos
//titulos.text = ".: Escribe cualquier tonteria en el campo de texto :. ";
titulos =" Esto es una prueba ";
//creando los clips q contendran las letras
function creaLetras() {
	var letras = new Array();
	for (var i = 0; i<=titulos.length; i++) {
		letras[i] = titulos.substr(i, 1);
		var letra = this.attachMovie("letrita", "letrita"+i, i+1);
		letra.angulo = Math.round((360/titulos.length)*i);
		letra.contenido.text = letras[i];
		letra.carusel();
		listaLetras.push(letra);
	}
}
function borraLetras() {
	trace(listaLetras.length);
	for (var i = 0; i<listaLetras.length; i++) listaLetras[i].removeMovieClip();
	listaLetras = [];
	profundidad = 1;
}
creaLetras();
stop();
Desde yá agradezco las respuestas.
Saludos
  #2 (permalink)  
Antiguo 06/02/2008, 07:15
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años, 7 meses
Puntos: 3
Re: No muestra el segunod fotograma

Nadie sabe resolver este problema?
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 15:59.