
Idée de départ : On prend une image, on la découpe en plusieurs carrées et on s’amuse avec la 3d native du flash player 10.
J’ai donc crée une classe MultiSquaresContainer qui prends en paramètre 3 éléments :
- Le displayObject à découper
- La largeur de découpe
- La hauteur de découpe
Nous avons donc au début de notre fichier :
// On crée notre image à partir de notre bibilothèque
var c:image = new image(500,337);
// On crée un Bitmap à partir du bitmapdata de la bibliothèque
var b:Bitmap = new Bitmap(c);
b.x = (stage.stageWidth - b.width)*0.5;
b.y = (stage.stageHeight - b.height)*0.5;
// On crée notre MultiSquareContainer à partir du bitmap
_c = new MultiSquaresContainer(b,50,50);
this.addChild(_c);
//Pour écouter l'événement click :
stage.addEventListener(MouseEvent.CLICK, clickImage);
//et la fonction :
private function clickImage(e:MouseEvent):void
{
if(_isDestroy)
{
_c.rebuild();
stage.removeEventListener(MouseEvent.MOUSE_MOVE, loop);
TweenMax.to(_c, 1, {z:0, ease:Strong.easeOut,rotationY:0,rotationX:0})
}
else
{
_c.destroy();
stage.addEventListener(MouseEvent.MOUSE_MOVE, loop);
TweenMax.to(_c, 1, {z:-300, ease:Strong.easeOut})
}
_isDestroy = !_isDestroy;
}
Bref, je vous fourni les sources si vous souhaitez vous amuser aussi. Attention mes classes font souvent appel à mon petit framework à moi. N’hésitez pas à télécharger celui-vi via svn sur http://achappard.svn.beanstalkapp.com/svn/. Pour plus d’infos, rendez-vous à la rubrique Ressources
salut,
c’est génial ce que tu as fait, ca serait possible de faire une découpe diagonale de l’image ?
bonne continuation en tout cas
Michel
Je ne l’ai pas encore fait mais je pense que l’API BitmapData peut le faire sans problème.