Avatar billede Rasmus Lund Nybegynder
21. april 2005 - 09:34 Der er 9 kommentarer og
1 løsning

cursor skift samtidigt med drag af andet objekt

JEg har skiftet min cursor vha.
_root.cursor.startDrag(true);
Mouse.hide();

Men jeg vil gerne have den til at drage et andet objekt...når jeg gør det, stopper cursoren, og når jeg så slipper objektet igen er cursoren til bage... kan man gør sådan at både cursor og objekt flytter sig samtidigt?

Desuden kommer "links-hånden" stadigt frem ved weblinks. kan dette undgås?
Avatar billede barklund Nybegynder
21. april 2005 - 09:40 #1
Weblinks som i links i html eller som i knapper og movieclips med knapfunktionalitet?

Derudover, nej, man kan kun dragge et movieclip af gangen. Men du kan med en mouselistener og onmousemove simulere en drag - men det vil ikke blive helt smooth.
Avatar billede rohaje Nybegynder
21. april 2005 - 10:42 #2
du kan måske lave noget lign,, er ikke testet,, en simpel en der bygger på et enterframe loop,, kan "dragge" , så mange din cpu tillader ;)

function startMyDrag(d_mc) {
    if (dragLooper == undefined) {
        createEmptyMovieClip("dragLooper", getNextHighestDepth());
        dragLooper.dragCollection = new Array();
    }
    dragLooper.dragCollection.push = d_mc;
    d_mc.dragIndex = dragCollection.length-1;
    dragLooper.dragLength = dragLooper.dragCollection.length;
    dragLooper.onEnterFrame = myDrag;
}
function myDrag() {
    for (var i = 0; i<dragLength; i++) {
        this.dragCollection[i]._x = _root._xmouse;
        this.dragCollection[i]._y = _root._ymouse;
    }
}
function stopMyDrag(d_mc) {
    dragLooper.dragCollection.splice[d_mc.dragIndex, 1];
    dragLooper.dragLength = dragCollection.length;
    if (dragLooper.dragLength<1) {
        dragLooper.removeMovieClip();
    }
}
function killMyDrag(){
    dragLooper.removeMovieClip();
}
Avatar billede rohaje Nybegynder
21. april 2005 - 10:44 #3
har alle rede spottet, de første fejl :)

function startMyDrag(d_mc) {
    if (dragLooper == undefined) {
        createEmptyMovieClip("dragLooper", getNextHighestDepth());
        dragLooper.dragCollection = new Array();
    }
    dragLooper.dragCollection.push = d_mc;
    d_mc.dragIndex = dragCollection.length-1;
    dragLooper.dragLength = dragLooper.dragCollection.length;
    dragLooper.onEnterFrame = myDrag;
}
function myDrag() {
    for (var i = 0; i<this.dragLength; i++) {
        this.dragCollection[i]._x = _root._xmouse;
        this.dragCollection[i]._y = _root._ymouse;
    }
}
function stopMyDrag(d_mc) {
    dragLooper.dragCollection.splice[d_mc.dragIndex, 1];
    dragLooper.dragLength = dragLooper.dragCollection.length;
    if (dragLooper.dragLength<1) {
        dragLooper.removeMovieClip();
    }
}
function killMyDrag(){
    dragLooper.removeMovieClip();
}
Avatar billede rohaje Nybegynder
21. april 2005 - 10:46 #4
nej f.. h.. det går godt

function startMyDrag(d_mc) {
    if (dragLooper == undefined) {
        createEmptyMovieClip("dragLooper", getNextHighestDepth());
        dragLooper.dragCollection = new Array();
    }
    dragLooper.dragCollection.push(d_mc);
    d_mc.dragIndex = dragCollection.length-1;
    dragLooper.dragLength = dragLooper.dragCollection.length;
    dragLooper.onEnterFrame = myDrag;
}
function myDrag() {
    for (var i = 0; i<this.dragLength; i++) {
        this.dragCollection[i]._x = _root._xmouse;
        this.dragCollection[i]._y = _root._ymouse;
    }
}
function stopMyDrag(d_mc) {
    dragLooper.dragCollection.splice[d_mc.dragIndex, 1];
    dragLooper.dragLength = dragLooper.dragCollection.length;
    if (dragLooper.dragLength<1) {
        dragLooper.removeMovieClip();
    }
}
function killMyDrag(){
    dragLooper.removeMovieClip();
}
Avatar billede rohaje Nybegynder
21. april 2005 - 10:48 #5
måske skulle killMyDrag og stopMyDrag lige delete dragIndex i det/de movieCLip/ -s
Avatar billede rohaje Nybegynder
21. april 2005 - 13:09 #6
fik lige tid til at teste,, har rettet lidt i det- kønt er det ikke med det virker da :)

function startMyDrag(d_mc, center) {
    if (dragLooper == undefined) {
        createEmptyMovieClip("dragLooper", getNextHighestDepth());
        dragLooper.dragCollection = new Array();
    }
    dragLooper.dragCollection.push(d_mc);
    d_mc.dragIndex = dragLooper.dragCollection.length-1;
    if (center or center == undefined) {
        d_mc.xdif = 0;
        d_mc.ydif = 0;
    } else {
        d_mc.xdif = _root._xmouse-d_mc._x;
        d_mc.ydif = _root._ymouse-d_mc._y;
    }
    dragLooper.dragLength = dragLooper.dragCollection.length;
    dragLooper.onEnterFrame = myDrag;
}
function myDrag() {
    for (var i = 0; i<this.dragLength; i++) {
        this.dragCollection[i]._x = _root._xmouse-this.dragCollection[i].xdif;
        this.dragCollection[i]._y = _root._ymouse-this.dragCollection[i].ydif;;
    }
}
function stopMyDrag(d_mc) {
    trace(dragLooper.dragCollection);
    dragLooper.dragCollection.splice(d_mc.dragIndex, 1);
    trace(dragLooper.dragCollection);
    dragLooper.dragLength = dragLooper.dragCollection.length;
    trace(d_mc+"  "+dragLooper.dragLength+" d_mc.dragIndex "+d_mc.dragIndex);
    if (dragLooper.dragLength<1) {
        dragLooper.removeMovieClip();
    }
}
function killMyDrag() {
    dragLooper.removeMovieClip();
}
// lidt ogly test halløj,,:)
// en cursor instancenavn: cursor_mc
//to test mc'er instancenavne: test1 og test2
Mouse.hide();
startMyDrag(cusor_mc);
test1.onPress = test2.onPress =function() {
    this.swapDepths(getNextHighestDepth());
    cusor_mc.swapDepths(getNextHighestDepth());
    startMyDrag(this, false);
};
test1.onRelease =test2.onRelease = function() {
    stopMyDrag(this);
};
Avatar billede rohaje Nybegynder
21. april 2005 - 13:29 #7
lige en gang til nogle gange skal man tænke før man koder ;)

function startMyDrag(d_mc, center) {
    if (dragLooper == undefined) {
        createEmptyMovieClip("dragLooper", getNextHighestDepth());
        dragCollection = new Object();
    }
    dragCollection[d_mc] = new Object();
    dragCollection[d_mc].targ = d_mc;
    if (center or center == undefined) {
        dragCollection[d_mc].xdif = 0;
        dragCollection[d_mc].ydif = 0;
    } else {
        dragCollection[d_mc].xdif = _root._xmouse-d_mc._x;
        dragCollection[d_mc].ydif = _root._ymouse-d_mc._y;
    }
    dragLooper.onEnterFrame = myDrag;
}
function myDrag() {
    var i;
    var test = true;
    for (i in dragCollection) {
        test = false;
        dragCollection[i].targ._x = _root._xmouse-dragCollection[i].xdif;
        dragCollection[i].targ._y = _root._ymouse-dragCollection[i].ydif;
    }
    if (test) {
        killMyDrag();
    }
}
function stopMyDrag(d_mc) {
    delete dragCollection[d_mc];
}
function killMyDrag() {
    delete dragCollection;
    dragLooper.removeMovieClip();
}
Avatar billede Rasmus Lund Nybegynder
23. april 2005 - 23:04 #8
tusinde tak for hjælpen! skrive et svar og du skal få point!
Avatar billede rohaje Nybegynder
23. april 2005 - 23:31 #9
du får et svar :)
Avatar billede rohaje Nybegynder
24. april 2005 - 00:34 #10
tak for det:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester