Comunidad de diseño web y desarrollo en internet online

ayuda con set interval y on enter frame

Citar            
MensajeEscrito el 19 Sep 2006 04:32 pm
Cómo puedo hacer para que un onEnterFrame se produsca solamente cuando se produce un on roll over, la idea es no consumir recursos inesesarios mientras no se produzca el roll over , chabía pensado en algo como delete this.onEnterFrame pero no me da resultados.

Ahora alguien me dijo que echara un vistazo a set interval y encontré algo parecido a lo q estoy haciendo:

mover = function (argumento) {
if (argumento._x >= 550) {
clearInterval(idIntervalo);
return;
}
argumento._x += 1;
updateAfterEvent();
};
idIntervalo=setInterval(mover, 1, mc_miclip);

esto es un desplazamiento simple por x .

Ahora lo que yo estoy haciendo es algo como esto:

onClipEvent (load) {
yPos = new Array(_y, _y-pos_btn_menu);
a = 0;
}
onClipEvent (enterFrame) {
_y += (yPos[a]-_y)/vel_btn_menu;
trace(_y);
if (_y<=237) {
delete this.onEnterFrame;
}
}

alguien me puede ayudar con el código? Cualquier ayuda o comentario es bienvenido.

Por kiltroconpulgas

96 de clabLevel



 

safari
Citar            
MensajeEscrito el 19 Sep 2006 06:48 pm
No programes dentro del clip. Usa la línea del tiempo.
onClipEvent (enterFrame) {}
sería:
tuMc.onEnterFrame=function(){}
y donde pones propiedades (como _x) usa this.propiedad (this._x)
y para borrar el onEnterFrame (ya debería funcionar)
tuMc.onEnterFrame=null

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 20 Sep 2006 03:04 am
mira lo intenté así:

_global.pos_btn_menu = 7;
//define el valor global de la variable pos_btn_menu para los elementos del menú
_global.vel_btn_menu = 2;
_root.vision_txt_mc.onLoad = function() {
yPos = new Array(this._y, this._y-pos_btn_menu);
a = 0;
};
_root.vision_txt_mc.onEnterFrame = function() {
this._y += (yPos[a]-this._y)/vel_btn_menu;
trace(this._y);
};
//tuMc.onEnterFrame=null
vision_btn.onRollOver = function() {
_root.vision_txt_mc.a = vision_btn.base_interior_btn.a=1;
};
vision_btn.onRollOut = function() {
_root.vision_txt_mc.a = vision_btn.base_interior_btn.a=0;
};


lo único que funciona es el trace... no se donde está el error...

Por kiltroconpulgas

96 de clabLevel



 

safari
Citar            
MensajeEscrito el 20 Sep 2006 04:49 pm
Prueba quitando los _global (déja las variables tal cual y funcionarán). Si no es eso, será un problema de rutas. Ve poniendo traces de las distintas variables, hasta ver donde falla.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 20 Sep 2006 06:06 pm
mira lo resolví mediante este código:

MovieClip.prototype.movery = function(newy, velocidad) {
this.onEnterFrame = function() {
this.ypos = (newy-this._y);
this.ypos ? this._y += this.ypos/velocidad : (this._y=newy, delete this.onEnterFrame);
//trace("esto esta haciendo loop")
};

};

// esto en el primer frame

// y esto en el clip:

on (rollOver) {
this.movery(245.3, 3);
trace(this._y)
_root.vision_txt_mc.movery(230.2, 3);
}
on (releaseOutside, rollOut) {
this.movery(252.8, 3);
_root.vision_txt_mc.movery(237.2, 3);
}

ahora esta forma de expresar una función para mí es nueva " function(newy, velocidad) " .... son variables ?? pero de donde sacan su valor... aaaaaaa!!! lo sacán del MC lo acabo de entender... ya... pero...
y que es MovieClip.prototype. ?? es una especie d función global ??

Por kiltroconpulgas

96 de clabLevel



 

safari

 

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