It just dont seem to work, image arrays

-Resolved- :bu:

Hi,

I would be glad to have some help on this one.

expl. take photos with webcam, retrieve and show in slideshow.

on stage is a mc photoknapp that trigger function TakePhoto, and a mc bildspel that are a holder for the shown pictures.

It seems that all pictures in the array are changed when a new photo is stored?
There might be more general problems but the tracing seems to work?

I’m lost…

//---------vars
var numberOfPics = 30;
var latestSnapShot = numberOfPics;
var latestShownPic = numberOfPics;
var kamx = 60;
var kamy = 30;
var kamw = 300;
var kamh = 480;
var fps = 8;
var bildspx = 500;
var bildspy = 30;
var picArray = new Array(numberOfPics);
    var bitmap:Bitmap;
var bData:BitmapData;

// ------initiate array with "empty" bitmaps
for (var i= 0; i <numberOfPics; i++)
{

    bData = new BitmapData(kamw,kamh,true,0x00000000);
    bitmap = new Bitmap(bData);
    picArray* = bitmap;
    trace(i);
    trace(picArray);
}

// ------Create camera and video flow
var webKamera:Camera = Camera.getCamera();
webKamera.setMode(kamw, kamh, fps,true );
var kameraStream:Video = new Video(kamw,kamh);
kameraStream.attachCamera(webKamera);
kameraStream.x = kamx;
kameraStream.y = kamy;
addChild(kameraStream);

// ---take and place picture  in array

photoknapp.addEventListener(MouseEvent.CLICK,takeSnapshot);

function takeSnapshot(e:MouseEvent):void
{
    if (latestSnapShot==numberOfPics+1)
    {
        latestSnapShot = 0;
    }
    bitmapData.draw(kameraStream);
    var bitmapData:BitmapData = new BitmapData(kamw,kamh);
    var bild:Bitmap = new Bitmap(bitmapData);
    picArray[latestSnapShot] = bild;
    trace("pic taken");
    latestSnapShot++;
}

//----slideshow
var myTimer:Timer = new Timer(3000); // 3 seconds
myTimer.addEventListener(TimerEvent.TIMER, ChangePic);
myTimer.start();

function ChangePic(event:TimerEvent):void
{
    if (latestShownPic==numberOfPics+1)
    {
        latestShownPic = 0;
    }
        //bildspel.addChild(testArray[latestShownPic])
    bildspel.addChild(picArray[latestShownPic])
    trace(latestShownPic);
    latestShownPic++;
}