Comunidad de diseño web y desarrollo en internet online

Cómo cambiar valor de onEnterFrame

Citar            
MensajeEscrito el 18 Dic 2006 12:25 pm
Me explico:

Tengo un enter frame que dice lo siguiente:

Código :

onEnterFrame = function () {
   giro;
};

//la idea de poner giro, se debe a que nesecito que el valor cambie dependiendo del frame en que se encuentre.

//Despues tengo estas funciones

Código :

function giro_atras() {
   if (this._currentframe != 236) {
      this.prevFrame();
   }
}
function giro_adelante() {
   if (this._currentframe != 285) {
      this.nextFrame();
   }
} 


// las funciones cumplen con el objetivo de avanzar si es que no es el 285 ( o sea que pare ahí ) y vice versa si no es el 236.

//ahora tengo estas condiciones:

Código :

if (btn_ficha_apretado_avanzar == true) {
   giro = giro_adelante();
}
if (btn_ficha_apretado_retroceder == true) {
   giro = giro_atras();
}


// o sea si dependiendo de cual sea verdadero, va a depender cual funcion es giro.

//y cual es verdadera va a depender del frame en que se encuentre ( la película principal ) al momento de apretar el botón. o sea lo siguiente:

Código :

ficha_tecnica_btn.onPress = function() {
   
   if (_level0._currentframe != 285) {
      _level0.btn_ficha_apretado_avanzar = true;
   }
   if (_level0._currentframe != 236) {
      _level0.btn_ficha_apretado_retroceder = true;
   }
};


// bueno eso es, yo lo veo bien, alguien me puede explicar donde está mi error... se me inmaginda que es valor giro...pero no se, bueno espero me puedan ayudar, se los agradecería mucho.

Saludos y gracias.

:swat: Editado zguillez : Utiliza las etiquetas [code] para postear código

Por kiltroconpulgas

96 de clabLevel



 

safari
Citar            
MensajeEscrito el 18 Dic 2006 01:34 pm
Prueba asi:

Código :

if (btn_ficha_apretado_avanzar == true) {
   onEnterFrame = giro_adelante;
}
if (btn_ficha_apretado_retroceder == true) {
   onEnterFrame = giro_atras;
}

(tu primer onEnterFrame no lo necesitas..)

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

opera
Citar            
MensajeEscrito el 18 Dic 2006 02:25 pm
te refieres a que lo escriba así: ??

Código :

stop();
if (btn_ficha_apretado_avanzar == true) {
   onEnterFrame = giro_adelante();
}
if (btn_ficha_apretado_retroceder == true) {
   onEnterFrame = giro_atras();
}


//le agregé los () de las funciones

Código :

function giro_atras() {
   if (this._currentframe != 236) {
      this.prevFrame();
   }
}
function giro_adelante() {
   if (this._currentframe != 285) {
      this.nextFrame();
   }
}


//y en la otra película ( la de los botones ) :

Código :

ficha_tecnica_btn.onPress = function() {
   if (_level0._currentframe != 285) {
      btn_ficha_apretado_avanzar = true;
   }
   if (_level0._currentframe != 236) {
      btn_ficha_apretado_retroceder = true;
   }
};


//así ??? pues así sigue sin funcionar... no estaré haciendo otra cosa mal, quizás uds que tienen más experiencia la noten, yo le he dado hartas vuelta y no logro entender por que no funciona.

Saludos y gracias de antemano.

:swat: Editado zguillez : Utiliza las etiquetas [code] para postear código

Por kiltroconpulgas

96 de clabLevel



 

safari
Citar            
MensajeEscrito el 18 Dic 2006 02:55 pm
el traspaso de variables ... ¿ está bien hecho ?

el tan simple como decirle a una película en el nivel 4 por ejemplo:

Código :

_level1.play=true 


???????

quizás eso es lo que estoy haciendo mal

Que opinan ??

:swat: Editado zguillez : Utiliza las etiquetas [code] para postear código

Por kiltroconpulgas

96 de clabLevel



 

safari
Citar            
MensajeEscrito el 18 Dic 2006 09:12 pm
Fijate que al asignar una funcion al onEnterFrame NO has de poner parentesis:

Código :

//mal
onEnterFrame = giro_adelante();
//bien
onEnterFrame = giro_adelante;

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

opera
Citar            
MensajeEscrito el 20 Dic 2006 03:09 pm
pero según yo recuerdo, cuando trataba con event de botón debía poner los parentestis, o recuerdo mal ? por ejemplo:

giro_adelante()

ahora... si es así a que se debe esto y por que en el enter frame no va ?

Saludos Gracias.

Por kiltroconpulgas

96 de clabLevel



 

safari
Citar            
MensajeEscrito el 20 Dic 2006 11:15 pm
Cuando llamas a una funcion siempre va con parentesis. Pero cuando defines una función a partir de otra va sin parentesis:

Código :

function uno()
{
   trace(1);
}
//
uno(); <-- funcion con parentesis
//
dos = uno; <-- sin parentesis
//
dos(); <-- la funcion dos() es la misma que la uno()

Por eso te decia que no pusieses los parentesis:

Código :

onEnterFrame = giro_adelante(); <-- tu pusiste parentesis, Mal...
onEnterFrame = giro_adelante; <-- asi esta bien

esto sería lo mismo que hacerlo asi:

Código :

onEnterFrame = function ()
{
   giro_adelante(); <-- aqui se está haciendo una llamada a la funcion. Va con parentesis
};

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

opera
Citar            
MensajeEscrito el 20 Dic 2006 11:27 pm
yo hago lo siguiente

Código :

rotar = true;
miniaturas.onEnterFrame = function() {
   if (rotar) {
      miniaturas._rotation += 0.5;
   }else{
        miniaturas._rotation += -0.5;
        }

};
miniaturas.onRollOver = function(){
rotar = false;
}
miniaturas.onRollOut = function(){
rotar = true;
}
stop();
}

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.