guguganmo
Messages postés5Date d'inscriptionlundi 14 avril 2008StatutMembreDernière intervention24 septembre 2014
-
Modifié par guguganmo le 13/06/2014 à 19:27
vegetalain -
16 juin 2014 à 20:54
Bonjour,
Ca fait un bail que je ne suis pas venu ici hihihi... alors voilà j'ai installé depuis peu Crysis 3 (super beau, au passage), et je me demandais si on pouvais dans flash reproduire cet effet de "presque 3D" selon les mouvements de la souris.
Histoire de préciser, disons que c'était comme s'il y avait plusieurs couches de clips, plaqués sur une surface incurvée. Lorsqu'on bouge la souris en haut à gauche, le menu semble s'éloigner un peu en haut à gauche et se rapprocher en bas à droite... c'est un peu cet effet-là :
function moveWithMouse(e:Event):void { //Limits to stop the rotation if you around the middle. X if (mouseX >((stage.stageWidth/2)+200-(stage.stageWidth/2-960/2)) || mouseX <((stage.stageWidth/2)-200-(stage.stageWidth/2-960/2))){ combo_mc.rotationY+= (mouseX - stage.stageWidth/2)*0.0005 }else{ //trace("noooo"); }
}
ça permet à un rectangle de pivoter sur son axe, selon que la souris soit à gauche ou à droite.
Seulement je n'arrive pas à "limiter" le phénomène. En fait la rotation se fait "de pixels en pixels" tant que la souris est en place. Ce que je voudrais ce serait plutôt hm... de dire
"bon, la souris est à gauche alors tu pivotes de +50 pixels".
Ce serait comme une interpolation en fait, mais en script. Pour finalement obtenir le même effet ou presque, que dans le fameux main menu de Crysis3.
J'avais un script qui permettait de déplacer un clip d'un point A vers un point B, de façon fluide, mais je n'arrive pas trop à l'adapter, il me met des erreurs et finalement, le rectangle ne bouge plus.
Par contre c'était en AS2. Je mettais ça sur un clip :
en appuyant sur un bouton qui avait cette instruction
_root.glisstruc = -455.8;
le clip glissait tranquillement.
Qq'un saurait-il si on peut adapter ça au cas présent?... Je suis une bille en script, mais hm... j'imagine que oui. En attendant quelques conseils avisés ;), je continue mes recherches...
J'ai trouvé sur le net un bout de script qui a l'air de donner le résultat que je voulais avoir. Je mets donc un movieclip sur la scène, et sur la première frame du fla j'écris ça :
stage.addEventListener(MouseEvent.MOUSE_MOVE,mousemove); function mousemove(e:MouseEvent):void{ var xpercent:Number = mouseX/(stage.stageWidth/2); var ypercent:Number = mouseY/(stage.stageHeight/2);