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

error de target

Estas en el tema de error de target en el foro de Flash y Actionscript en Foros del Web. hola.. a ver si alguien me puede ayudar... tengo un preloader con el siguiente as Código: percent = Math.round(getBytesLoaded()/getBytesTotal()*100); if (getBytesLoaded() == getBytesTotal()) { gotoAndStop("principal", ...
  #1 (permalink)  
Antiguo 25/03/2009, 03:42
 
Fecha de Ingreso: abril-2007
Mensajes: 6
Antigüedad: 10 años, 7 meses
Puntos: 0
error de target

hola.. a ver si alguien me puede ayudar...

tengo un preloader con el siguiente as

Código:
percent = Math.round(getBytesLoaded()/getBytesTotal()*100);
if (getBytesLoaded() == getBytesTotal()) {
	gotoAndStop("principal", 1);
}
_root.preloadState = percent+"%";
trace(_root.preloadState);
play();

frame = int(getBytesLoaded()/getBytesTotal()*100);
tellTarget (_root.loader) {	
	 	 gotoAndStop (_root.frame);
}
pero a la hora de publicarlo me pone el siguiente error

100%
Target not found: Target="undefined" Base="_level0"


lo mejor del caso... es que lo tengo en otro archivo y funciona perfecto... y la verdad no entiendo porque...
  #2 (permalink)  
Antiguo 25/03/2009, 04:00
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 10 años
Puntos: 51
Respuesta: error de target

un código un poco raro XDXD ya no trabajo mucho en as2 pero curiosamente tengo una clase que cree de precarga similar al Twenn si te interesa el código es el siguiente

guarda este código junto con el proyecto swf que tengas en un archivo as y ponle de nombre Precarga
Código PHP:
class Precarga {
    private var 
_timer_mc:Number;
    
    public var 
cargaResumen:Function;
    public var 
cargaFinalizada:Function;
    public var 
cargaError:Function;
    public var 
func:Function = function (tbcd) {return c*t/d+b;};
    public var 
Total:Number 0;
    public var 
Cargados:Number 0;
    public var 
objcarga:Object;
    public var 
obj:Object;
    public var 
propiedad:String;
    public var 
porcentaje:Number;
    public var 
ini:Number;
    public var 
fin:Number;
    public var 
tes:TextField
    
    
private var iniAct:Boolean=false
    
function Precarga(objcargaporcentajeobjpropiedadinifinfunc) {
        
this.objcarga objcarga;
        
this.obj obj;
        
this.propiedad propiedad;
        
this.porcentaje porcentaje;
        
this.fin fin;
        
this.ini ini
        
if (func) {
            
this.func func;
        }
        
this.inicio()
    }
    private function 
OnEnterFrame():Void {
        
this.Total this.objcarga.getBytesTotal();
        if (
this.Total != undefined) {
            
this.Cargados Math.round((this.objcarga.getBytesLoaded()/this.objcarga.getBytesTotal())*this.porcentaje);
            
this.obj[this.propiedad] = this.func(this.objcarga.getBytesLoaded(), this.ini, (this.fin-this.ini), this.Total);
            
this.cargaResumen();
            if (
this.objcarga.getBytesLoaded()>=this.objcarga.getBytesTotal()) {
                
clearInterval(this._timer_mc);
                
this.cargaFinalizada();
            }
            
            if (!
this.iniAct){
        if (
verifica()){
            
verifica()
        }}
        
        } else {
            
this.cargaError();
        }
        
    }
    function 
inicio():Void {
        
this._timer_mc=setInterval(this"OnEnterFrame"1);
    }
    function 
verifica():Boolean{
        if(! 
this.cargaIniciada()){
            
this.iniAct=true
            
return false
        
}
        return 
true 
    
}
   function 
cargaIniciada():Boolean{
        return 
false 
    


y en el archivo fla lo tienes que ejcutar de esta forma

Código PHP:
import Precarga
var pre=new Precarga(this,100,null,null,null,null,null)
pre.cargaResumen=function(){
    
trace(pre.Cargados+'%')
}
pre.cargaFinalizada=function(){
    
trace('cargaFinalizada')
}

pre.cargaError=function(){
    
trace('cargaError')

el numero 100 es el valor de porcentaje que se multiplica y el resultado es la variable Cagados pero si quieres controlar una barra de carga por ejemplo lo puedes hacer asi
Código PHP:
import Precarga
var pre=new Precarga(this,100,mc_BarraCarga,'_xscale',0,100,null)
pre.cargaFinalizada=function(){
    
trace('cargaFinalizada')

si te gusta esta forma de trabajar te puedo dar mas ejemplos de como aplicarlo con efectos elásticos y con cargas externas XDXD
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft

Última edición por Lynxcraft; 25/03/2009 a las 15:26
  #3 (permalink)  
Antiguo 25/03/2009, 12:54
 
Fecha de Ingreso: abril-2007
Mensajes: 6
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: error de target

hola Lynxcraft... gracias por tu respuesta, lo he intentado con ese action, pero la barra de carga... no llega al 100%... y el texto no aparece...

la verdad es que no soy experta... , o mas bien se muy poco y lo que he aprendido ha sido viendo tutoriales, tu codigo se ve muy lindo... pero entre tanto no se que variable es la que lleva el texto... y si le tengo que poner algun nombre en especial a la instancia... al igual que cual es el nombre que le tengo que asignar al movie clip que tiene la animación de la barra... que mas bien... es una mascarilla que descubre lo que hay detras...

lo que necesito que salga es el porcentaje de descarga y la animación de la mascarilla que es lo que tengo en el movie clip... en un lapso de 100 frames...

gracias por todo... y espero puedas ayudarme y así entender un poco más e ir aprendiendo mas... el porque de las cosas...
  #4 (permalink)  
Antiguo 25/03/2009, 15:19
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 10 años
Puntos: 51
Respuesta: error de target

intentando adaptarlo a lo que te puse arriba colócalo así haber di re funciona
Código PHP:
import Precarga
var pre=new Precarga(this,100,null,null,null,null,null)
pre.cargaResumen=function(){
  
_root.preloadState=pre.Cargados+'%'
}
pre.cargaFinalizada=function(){
    
gotoAndStop("principal"1);

__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #5 (permalink)  
Antiguo 25/03/2009, 15:55
 
Fecha de Ingreso: abril-2007
Mensajes: 6
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: error de target

hola de nuevo... gracias por responder...

pasa algo muy chistoso... no se termina de bajar... y me manda a la escena principal... al frame 1, pero si cambias de escena... no ha terminado de bajar...

el numero ahora si aparece, pero queda como en el 70 y tantos %... con un chorro de decimales que hmmm, es demasiado, solo con los enteros estaria maravilloso... pero no da el 100%

la animación de la barra se llena... a menos de la tercera parte del 100%

mira... le puse unas imagenes en la pestaña de evaluacion para hacerlo mas pesado y poder ver el funcionamiento del preloader... te mando el link

gphlounge.com/clients/unam/unam1.html

y gracias de nuevo
  #6 (permalink)  
Antiguo 25/03/2009, 16:08
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 10 años
Puntos: 51
Respuesta: error de target

copia de nuevo todo el código que va en el archivo as que lo he modificado para que no tire decimales

ahora

Código PHP:
import Precarga
var pre=new Precarga(this,100,null,null,null,null,null)
pre.cargaResumen=function(){
  
_root.preloadState=pre.Cargados+'%'
}
pre.cargaFinalizada=function(){
    
gotoAndStop("principal"2);

esta linea es la que debes alterar por ejemplo si sol quieres que pase al siguiente fotograma de la escena actual seria así

gotoAndStop(2);

o simplemente

play()

prueba asi haber si te funciona no te olvides de copiar de nuevo el código de arriba XD
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #7 (permalink)  
Antiguo 25/03/2009, 19:41
 
Fecha de Ingreso: abril-2007
Mensajes: 6
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: error de target

hola de nuevo... lo tengo que probar, pero me he dado cuenta de que desde que hago la publicacion del archivo me marca el 74%... asi que mas bien tengo que checar... que es lo que pasa... dentro del resto del archivo...

pero de verdad mil gracias por la ayuda... y ya te aviso, que es lo que pasa, pero si tengo que checar todo... y es cuestion de tiempo... jeje

saludos
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 14:11.