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?
Annonceindlæg fra Computerworld
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.
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(); }
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(); }
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(); }
21. april 2005 - 10:48
#5
måske skulle killMyDrag og stopMyDrag lige delete dragIndex i det/de movieCLip/ -s
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); };
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(); }
23. april 2005 - 23:04
#8
tusinde tak for hjælpen! skrive et svar og du skal få point!
23. april 2005 - 23:31
#9
du får et svar :)
24. april 2005 - 00:34
#10
tak for det:)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.