Version complète: sur le forum Webmaster Hub : onEnterFrame et nextframe, prevframe ?
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Flash et ActionScript
masta64
Bonjour, toujours au sujet d'une galerie que je suis entrain de creer, j'ai un petit probleme !!!!

Voila, sur ma premiere image clé, j'ai coder ceci (qui as pour but de faire defiler de gauche a droite une longue image de 1600 px qui contient 16 thumbnail d'images)

Code AS 1 :

this.onEnterFrame = function() {
decal = 330-this._xmouse;
thumb = mc_thumb._x;
if (thumb<1000 && thumb>-1000) {
mc_thumb._x += (decal/110);
}
if (thumb>1000) mc_thumb._x=-999
if (thumb<-1000) mc_thumb._x=999
thumbx = mc_thumb._x;
};


Et pour un soucis de graphisme et plus.... j'ai voulu aussi avoir la possibilité de pouvoir avancer et reculer cette meme image (mc_thumb)en frame par frame (image par image) avec deux fleches directionnel (bt_forw et bt_back) placer sur la scene principale aussi et que j'ai donc coder ainsi :

bt_forw.on (press) {
nextFrame();
}

bt_back.on (press) {
prevFrame();
}

Voila, j'espere que vous me comprendrez !!!!
Mais mon probleme c'est que les deux bt ne fonctionne pas , je pense qu'un "on(press).delete.onEnterFrame", serais la solution mais j'ai essayer dix mile choses et rien , je n'arrive pas a faire fonctionner le tout !!!


je precise qu'il y a aussi un bt_OK qui permetrait de faire repartir le defilement automatik (onEnterframe) !!!


Ahh j'oubliais aussi , jai aussi un probleme au niveau du defilement de mon image de 1600 px contenant tous mes thumbnail (mc_thumb), comment faire pour que l'on ne voit pas un blanc qui coincide au vide avant l'image et apres l'image, bref comment faire pour que l'image tourne en boucle !!! avec un DuplicateMovie ????
Jerome38
Salut

ben si tu fais tout en actionscript le fait d'avancer ou de reculer de frame ca va pas te faire bouger le clip ...

faudrait faire
bt_forw.onPress = function() {
delete this.onEnterFrame();
mc_thumb._x++;
}

ou j'ai mal compris
Jerome38
Sinon pour ton autre question au pire au lieu de faire 1 grand clip tu fais 16 petits clip contenant chacun une miniature et tu met un truc genre

this.onEnterFrame = function (){

for(i=1;i<17;i++){
decal = 330-this._xmouse;
thumb = this['mc_thumb'+i]._x;
thumb += (decal/110);

if(thumb <=-100){
thumb = 1600;
}
}

}

J'ai fait un truc comme ca y'a pas longtemps cf : http://www.onscreen.fr/compagnie.swf

Ou alors avec un duplicate movie tu le copie derriere et pareil une fois que un arrive au bout tu le remet en place derriere



edit : mince désolé pour le double post
masta64
merci pour ta reponse, je viens tester le 1er code pour le bt_forw et je pense que je me suis surement mal expliquer car ca ne fonctionne pas !!!
masta64
bon apparament je viens de coder quelque chose qui se rapproche enormement de ce ke je veux !!!

Les plus, le defilement auto fonctionne bien et s'arrete au premier thumb (mais pas le dernier thumb, y a encore la taille de 3 thumb vide, donc blanc), les bt_forw et back fonctionne sans delete.onEnterFrame !!!

Voici le code !!!


Sur la premiere image clé (dans un calque vide nommer actions)

fscommand("allowscale", "false");
stop();
var mainVar = 0;


Code sur MC_thumb

onClipEvent (enterFrame) {
if (_root.mainVar == 0) {
homeX = (-_root._xmouse*2)+880;
} else {
homeX = (-_root.mainVar*1)+740;
}
thisX = _x;
diffX = homeX-thisX;
if (_root.mainVar == 0) {
moveX = diffX/10;
} else {
moveX = diffX/20;
}
_x = thisX+moveX;
}



et code sur bt_forw

on (press) {
nextFrame();
}


Code sur bt_back

on (press) {
prevFrame();
}
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.