Salut,

j'essai de mettre en place un petit système pour gérer des images.

pour commencer j'ai découvert cette classe :

http://weblogs.macromedia.com/auhlma...tion_effe.html

qui permet pas mal de chose sous Flex.
Mais mon but est de faire ça sous Air!
Je m'explique...

Je souhaites utiliser la classe avec le ViewStack3D.
Je vais reprendre l'exemple fourni avec le Package.

Appli Principale (Flex) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
	xmlns:mx="http://www.adobe.com/2006/mxml"
	xmlns:distortion="view.distortion.*">
 
	<distortion:ViewStack3D />
 
</mx:Application>
Composant ViewStack3D :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox 
	xmlns:mx="http://www.adobe.com/2006/mxml"
	xmlns:sides="view.sides.*" 
	xmlns:controls="com.adobe.ac.controls.*" 
   horizontalAlign="center" verticalAlign="middle" verticalGap="20">
 
	<mx:HSlider 
		id="widthSlider" 
		minimum="0" maximum="100" value="40" 
		liveDragging="true" change="viewStack.tilt( widthSlider.value );"/>
 
	<controls:ViewStack3D id="viewStack" creationPolicy="all">
		<sides:ProductList 
			id="productList" />
		<sides:Registration 
			id="registration" />
		<sides:Calendar 
			id="calendar" />
	</controls:ViewStack3D>
 
</mx:VBox>
Dans ce Code on vois bien la réferance à une Classe ViewStack3D :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package com.adobe.ac.controls
{
	import com.adobe.ac.mxeffects.Distortion;
	import com.adobe.ac.mxeffects.DistortionConstants;
 
	import flash.display.DisplayObject;
 
	import mx.containers.Canvas;
	import mx.core.UIComponent;
	import mx.events.FlexEvent;
 
	public class ViewStack3D extends Canvas
	{
		private var distortions : Array = new Array();
 
		public function ViewStack3D()
		{
			addEventListener( FlexEvent.CREATION_COMPLETE, initDistortions );
		}
 
		private function initDistortions( event : FlexEvent ) : void
		{			
			for( var i : int; i < numChildren; i++ )
			{
				var child : UIComponent = UIComponent( getChildAt( i ) );
				initialiseBounds( child );
 
				var distort : Distortion = new Distortion( child );
				distort.smooth = true;
				distort.openDoor( 40, DistortionConstants.LEFT );
				distortions.push( distort );
			}
		}
 
		override protected function createChildren() : void
		{
			super.createChildren();
			for( var i : int; i < numChildren; i++ )
			{
				var child : UIComponent = UIComponent( getChildAt( i ) );
				child.x += i * 25;
				child.y += i * 20;				
			}	
		}
 
		public function tilt( percentage : Number ) : void
		{
			var len : Number = distortions.length;
			for( var i : int; i < len; i++ )
			{
				var distort : Distortion = distortions[ i ];
				distort.openDoor( percentage, DistortionConstants.LEFT );
			}
		}
 
		private function initialiseBounds( texture : UIComponent ) : void
		{		
			var firstChild : DisplayObject = DisplayObject( getChildAt( 0 ) );
			texture.setActualSize( firstChild.width, firstChild.height );
			texture.validateNow();		
		}
	}
}
Quand ont lance cette Application Flex, on peu gérer l'inclinaison des Différents éléments.
Il y a une distance entre chaque éléments pour bien les discerner.

Après avoir reproduit l'application sous flex AIR.
Je lance l'appli et je remarque que ce petit écart disparait...
Je ne trouve pas l'erreur...ou le paramètre à changer...

Je viens donc quérir votre aide

Merci!