OVH Cloud OVH Cloud

[ Flash 8 ] Probl?me onClipEvent et images cl?s

4 réponses
Avatar
le_topographe
Salut ? tous,

J'ai un clip qui tourne sur lui m?me via un tout simple script que j'ai pos?
sur le clip lui-m?me :

onClipEvent (enterFrame) { this._rotation+=32; }

Sur un m?me calque, j'ai une succession d'images cl? o? le clip change de
position, sans interpolation.

Mon probl?me est qu'? la publication le clip ne change pas de position du
tout, il reste ? la place qu'il occupait sur la 1?re image cl?. (le script
fonctionne lui)

Si j'enleve le script, je n'ai plus ce probl?me, de m?me si j'utilise des
calques diff?rents.

Ca fais des ann?es que je scripte dans flash des projets assez complexe et je
n'avais jamais rencontr? ce particularisme.
Y-a-t-il une subtilit? qui m'aurait ?chapp? ?

Merci ? celui ou celle qui saura ?clairer ma lanterne :-)

(Je suis sous Mac OS X)

4 réponses

Avatar
E-stampida
Pour une raison encore bien obsucre, en fait, si tu fais un trace à chaque
déplacement physique de ton objet, même si tu ne vois pas ton objet bouger,
tu peux constater avec le trace que pourtant le film se déplace bien de la
position de début à la position de fin.
si donc, au lieu d'uitliser du code pour flash5, tu avais une action comme
celle-ci:
this.monClip.onEnterFrame = function() {
this._rotation += 32;
this._x =i;
};
où "monClip" est l'instance de mon MC et i une variable qui change à chaque
position physique de mon MC, ça fonctionnera.
Il ne faut donc plus déplacer l'objet physiquement mais également par
actionscript...
tu peux également utiliser un "setInterval" pour déplacer l'objet à
intervales, exemple:

// Définition des variables
var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 25;
var duration:Number = 200;
// fonction de déplacement du clip
// function executeCallBack
function executeCallback():Void {
if (count>=maxCount) {
clearInterval(intervalId);
}
this.monClip._x += 5;
count++;
}
intervalId = setInterval(this, "executeCallback", duration);
// boucle de rotation du clip
this.monClip.onEnterFrame = function() {
this._rotation += 32;
};

--
e-S-tampida

http://development.bbri.be/elearning2 (beta version)
--
"le_topographe" wrote in message
news:difsas$c9d$
Salut ? tous,

J'ai un clip qui tourne sur lui m?me via un tout simple script que j'ai
pos?
sur le clip lui-m?me :

onClipEvent (enterFrame) { this._rotation+2; }

Sur un m?me calque, j'ai une succession d'images cl? o? le clip change de
position, sans interpolation.

Mon probl?me est qu'? la publication le clip ne change pas de position du
tout, il reste ? la place qu'il occupait sur la 1?re image cl?. (le script
fonctionne lui)

Si j'enleve le script, je n'ai plus ce probl?me, de m?me si j'utilise des
calques diff?rents.

Ca fais des ann?es que je scripte dans flash des projets assez complexe et
je
n'avais jamais rencontr? ce particularisme.
Y-a-t-il une subtilit? qui m'aurait ?chapp? ?

Merci ? celui ou celle qui saura ?clairer ma lanterne :-)

(Je suis sous Mac OS X)



Avatar
\(-: tatactic.be :-\)
Deux possibilités d'après moi, mais il doit y en avoir d'autres...
Soit tu fais en effet un set interval + un updateAfterEvent ce qui aura pour
résultat de ne pas tenir compte du framerate que tu as choisi comme le
conseille E-stampida(flash6 minimum mais tu indiques dans le sujet qu'il
s'agit de flash 8).
bête exemple avec un framerate à 12 fps:
en partant du principe que le nom du clip qui contient monClip soit labellé
comme animation_mc
sur la timeline
animation_mc.monClip.move=function(){
this._rotation+=1
updateAfterEvent()
}
interval=setInterval(animation_mc.monClip,"move",5)
ça tourne déjà très fluidemment.
:-)

Soit une animation sur la timeline dans monClip, où tu pourras juger de
l'effet souhaité.
Tout simple, pas d'actionscript mais ça marche aussi.
:-)
A voir donc en fonction de ta version de flash et...
(du temps que tu peux consacrer à ton problème)

En passant, Bonjour à E-stampida
;-)

"E-stampida" wrote in message
news:digb4u$46q$
Pour une raison encore bien obsucre, en fait, si tu fais un trace à chaque
déplacement physique de ton objet, même si tu ne vois pas ton objet
bouger, tu peux constater avec le trace que pourtant le film se déplace
bien de la position de début à la position de fin.
si donc, au lieu d'uitliser du code pour flash5, tu avais une action comme
celle-ci:
this.monClip.onEnterFrame = function() {
this._rotation += 32;
this._x =i;
};
où "monClip" est l'instance de mon MC et i une variable qui change à
chaque position physique de mon MC, ça fonctionnera.
Il ne faut donc plus déplacer l'objet physiquement mais également par
actionscript...
tu peux également utiliser un "setInterval" pour déplacer l'objet à
intervales, exemple:

// Définition des variables
var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 25;
var duration:Number = 200;
// fonction de déplacement du clip
// function executeCallBack
function executeCallback():Void {
if (count>=maxCount) {
clearInterval(intervalId);
}
this.monClip._x += 5;
count++;
}
intervalId = setInterval(this, "executeCallback", duration);
// boucle de rotation du clip
this.monClip.onEnterFrame = function() {
this._rotation += 32;
};

--
e-S-tampida

http://development.bbri.be/elearning2 (beta version)
--
"le_topographe" wrote in message
news:difsas$c9d$
Salut ? tous,

J'ai un clip qui tourne sur lui m?me via un tout simple script que j'ai
pos?
sur le clip lui-m?me :

onClipEvent (enterFrame) { this._rotation+2; }

Sur un m?me calque, j'ai une succession d'images cl? o? le clip change de
position, sans interpolation.

Mon probl?me est qu'? la publication le clip ne change pas de position du
tout, il reste ? la place qu'il occupait sur la 1?re image cl?. (le
script
fonctionne lui)

Si j'enleve le script, je n'ai plus ce probl?me, de m?me si j'utilise des
calques diff?rents.

Ca fais des ann?es que je scripte dans flash des projets assez complexe
et je
n'avais jamais rencontr? ce particularisme.
Y-a-t-il une subtilit? qui m'aurait ?chapp? ?

Merci ? celui ou celle qui saura ?clairer ma lanterne :-)

(Je suis sous Mac OS X)







Avatar
\(-: tatactic.be :-\)
A propos...

t'es un martien ou quoi pour respecter les usages de ce newsgroup???
Tu risques de te faire mal voir...
:-)

"le_topographe" wrote in message
news:difsas$c9d$
Salut ? tous,

J'ai un clip qui tourne sur lui m?me via un tout simple script que j'ai
pos?
sur le clip lui-m?me :

onClipEvent (enterFrame) { this._rotation+2; }

Sur un m?me calque, j'ai une succession d'images cl? o? le clip change de
position, sans interpolation.

Mon probl?me est qu'? la publication le clip ne change pas de position du
tout, il reste ? la place qu'il occupait sur la 1?re image cl?. (le script
fonctionne lui)

Si j'enleve le script, je n'ai plus ce probl?me, de m?me si j'utilise des
calques diff?rents.

Ca fais des ann?es que je scripte dans flash des projets assez complexe et
je
n'avais jamais rencontr? ce particularisme.
Y-a-t-il une subtilit? qui m'aurait ?chapp? ?

Merci ? celui ou celle qui saura ?clairer ma lanterne :-)

(Je suis sous Mac OS X)



Avatar
\(-: tatactic.be :-\)
Rien à faire en relisant un truc pareil, ça me demande une concentration
extraordinaire, mais il faut que je m'y colle.
En AS2 je comprends plus rien...
Pas moyen de faire + compliqué pour un truc aussi simple???
N'empèche, si je me sens largué ça veut dire que je commence à m'y mettre.
Bien le bonjour à toi, je me penche déjà sur ta réponse.
Nico



"E-stampida" wrote in message
news:digb4u$46q$
Pour une raison encore bien obsucre, en fait, si tu fais un trace à chaque
déplacement physique de ton objet, même si tu ne vois pas ton objet
bouger, tu peux constater avec le trace que pourtant le film se déplace
bien de la position de début à la position de fin.
si donc, au lieu d'uitliser du code pour flash5, tu avais une action comme
celle-ci:
this.monClip.onEnterFrame = function() {
this._rotation += 32;
this._x =i;
};
où "monClip" est l'instance de mon MC et i une variable qui change à
chaque position physique de mon MC, ça fonctionnera.
Il ne faut donc plus déplacer l'objet physiquement mais également par
actionscript...
tu peux également utiliser un "setInterval" pour déplacer l'objet à
intervales, exemple:

// Définition des variables
var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 25;
var duration:Number = 200;
// fonction de déplacement du clip
// function executeCallBack
function executeCallback():Void {
if (count>=maxCount) {
clearInterval(intervalId);
}
this.monClip._x += 5;
count++;
}
intervalId = setInterval(this, "executeCallback", duration);
// boucle de rotation du clip
this.monClip.onEnterFrame = function() {
this._rotation += 32;
};

--
e-S-tampida

http://development.bbri.be/elearning2 (beta version)
--
"le_topographe" wrote in message
news:difsas$c9d$
Salut ? tous,

J'ai un clip qui tourne sur lui m?me via un tout simple script que j'ai
pos?
sur le clip lui-m?me :

onClipEvent (enterFrame) { this._rotation+2; }

Sur un m?me calque, j'ai une succession d'images cl? o? le clip change de
position, sans interpolation.

Mon probl?me est qu'? la publication le clip ne change pas de position du
tout, il reste ? la place qu'il occupait sur la 1?re image cl?. (le
script
fonctionne lui)

Si j'enleve le script, je n'ai plus ce probl?me, de m?me si j'utilise des
calques diff?rents.

Ca fais des ann?es que je scripte dans flash des projets assez complexe
et je
n'avais jamais rencontr? ce particularisme.
Y-a-t-il une subtilit? qui m'aurait ?chapp? ?

Merci ? celui ou celle qui saura ?clairer ma lanterne :-)

(Je suis sous Mac OS X)