[Actionscript 2] Duplicate movieclip start/stopdrag

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • user643
  • Registratie: Februari 2002
  • Laatst online: 03-09 08:18

user643

Sweet Surrender

Topicstarter
Ik ben bezig met een soort spelletje waar je knopen(chunks) op een riem kan plaatsen.
De images haal ik op middels een xml waarin de locatie van de afbeeldingen staan.
Deze knopen worden in 7 movieclips geladen, met pijltjes kan je door deze chunks scrollen.

Daarna was het de bedoeling om wanneer je klikt op een van de chunks dat deze gedupliceerd wordt en middels drag/drop op een bepaalde positie kan worden gedropt en gelocked. Hier moest ik "bitmapdata" voor gebruiken als een workaround, omdat duplicatemovieclip() niet gelade afbeeldingen dupliceert.

Het probleem is nu dat ik bij de onpress van een chunk een nieuwe movieclip maak waar ik de bitmapdata in laadt, deze kan ik wel draggen maar niet laten stoppen met draggen. Wat doe ik fout?

Uiteindelijk moet ik de onpress en onrelease nog in een aparte functie onderbrengen, zodat dit voor alle knopen (chunks) gaat werken.

code:
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
// loadXml
//....

function loadChunks(imageURL,startPos)
{
    for (j=1; j<showChunks; j++)
    {
        var chunk_image = imageURL[(startPos+j)%imageCount];
        var chunk = eval("chunk_mc" + j);
        chunk.createEmptyMovieClip("img",_root.getNextHighestDepth());
        chunk.img._x = -34;
        chunk.img._y = -33;
        chunk.img.loadMovie("chunks/"+chunk_image);
    }
}

function nextPage()
{
    _root.startPos = (_root.startPos + 1)%imageCount;
    _root.loadChunks(_global.imageURL,startPos);
}

function prevPage()
{
    _root.startPos = (_root.startPos + imageCount - 1)%imageCount;
    _root.loadChunks(_global.imageURL,startPos);
}

function duplicateMC(mc1:MovieClip, mc2:MovieClip) 
{
    var bmpData = new BitmapData(mc1._width, mc1._height, true, 0x00ffffff);
    
        // Center new bitmap
    var mat:Matrix = new Matrix();
        mat.translate(mc1._width/2, mc1._height/2);
        bmpData.draw(mc1, mat);
    
    mc2.attachBitmap(bmpData,this.getNextHighestDepth());
}


chunk_mc2.onPress = function() 
{
    //_root.n = _root.n+1;
    ///trace(n);
    _root.createEmptyMovieClip("new_chunk_mc2",this.getNextHighestDepth());
    duplicateMC(this, _root.new_chunk_mc2);
    
    startDrag(_root.new_chunk_mc2,true);
    new_chunk_mc2.alpha =.5;
}

chunk_mc2.onRelease = function()
{
    new_chunk_mc2.stopDrag();
    removeMovieClip(_root.new_chunk_mc2);
}

Acties:
  • 0 Henk 'm!

  • user643
  • Registratie: Februari 2002
  • Laatst online: 03-09 08:18

user643

Sweet Surrender

Topicstarter
sh*t, hij moet in "webdesign" ipv "programming"