Bonjour à tous,

Je suis en train de travailler sur une simple visionneuse d'image écrite en AS3. Pour réaliser cette dernière, je charge des images avec un loader; une fois les images chargées, je les ajoute les unes à la suite des autres dans un clip que je peux déplacer avec une scrollBar.

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
64
65
66
67
68
69
 
package{
 
 
    import flash.display.*;
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.net.URLRequest;
 
 
	public class Viewer extends MovieClip{
 
        public var yPos = 40;
 
		public function Viewer(){
 
			loadImages();
               addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
 
		}
 
 
 
		public function addImage(event:Event):void {
 
 
			event.target.loader.y = yPos;
			trace(event.target.loader.width,_vc.width);
			_vc.addChild(event.target.loader);
			yPos += event.target.loader.height + 40;
 
		}
 
		public function loadImages():void{
 
			var i = 0;
			var loader:Loader;
			var request:URLRequest;
 
			while(i< 24){
				request = new URLRequest("content/warm/im"+i+".jpg");
				loader = new Loader();
				loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
				loader.contentLoaderInfo.addEventListener(Event.COMPLETE, addImage);
				loader.load(request);
				i++;
 
 
			}
		}
 
 
		public function ioErrorHandler(event:IOErrorEvent):void {
				trace("Unable to load image");
		}
 
		public function mouseMoveHandler(event:MouseEvent):void{
			if(_scrollBar.DRAG){
				_vc.y = -_scrollBar._bar.y*_vc.height/(_scrollBar.height - _scrollBar._bar.height);
			}
		}
 
	}
}

Mon problème est le suivant : les images importées sont automatiquement redimensionnées lors de leur ajout dans la display list - ce que je ne souhaite pas - (je souhaite conserver leur taille d'origine). Ceci étant, mes images ayant une largeur de 600px, j'ai tenté de mettre la taille de mon MC (baptisé _cv) à 600px en largeur - pour voir - . Malheureusement, les images sont encore déformées, et chose surprenante, elles n'occupent pas toute la largeur du MC. Le trace : "trace(event.target.loader.width,_vc.width);" me confirme que les images et le MC on bien la même largeur (600px)...
Cela peut peut-être provenir d'un problème de coordonnées locales ? mais je n'arrive pas bien à le cerner!

...si vous avez des idées ..?

merci d'avance !