Dragging/setmask tager ikke effekt
Med følgende kode kan man tage ved et kopiere et billede (movieclip) og trække det rundt. Når man slipper det nye billedet og klikker på det igen kan man stadig flytte det rundt. Og det er alt sammen fint. Problemet er at første gang man slipper billedet så hænger billedet stadig ved og masken bliver ikke tildelt (først når klikker anden gang slipper billedet). Jeg har prøvet med "onMouseUp" og "onMouseDown" i stedet, men det hjalp ikke.(Beklager hvis indryk ikke her helt korrekt)
target.onPress = function () {
total_elements += 1;
_root.myBitmap = new BitmapData(this._width*5, this._height*5, true, 0x00FFFFFF);
_root.myBitmap.draw(this);
_root.bg_container_mc.createEmptyMovieClip("img_mc_bg"+total_elements,
_root.bg_container_mc.getNextHighestDepth() + total_elements);
_root.bg_container_mc["img_mc_bg"+total_elements].attachBitmap(myBitmap, total_elements, "auto", true);
_root.bg_container_mc["img_mc_bg"+total_elements].startDrag();
_root.bg_container_mc["img_mc_bg"+total_elements]._x = _root._xmouse - (_root.bg_container_mc["img_mc_bg"+total_elements]._width/2);
_root.bg_container_mc["img_mc_bg"+total_elements]._y = _root._ymouse - (_root.bg_container_mc["img_mc_bg"+total_elements]._height/2);
_root.bg_container_mc["img_mc_bg"+total_elements].onPress = function () {
this.swapDepths(_root.bg_container_mc.getNextHighestDepth());
this.startDrag();
this.setMask(null);
}
_root.bg_container_mc["img_mc_bg"+total_elements].onRelease = function () {
this.stopDrag();
// Trash
if (trash.hitTest(this)) {
this.removeMovieClip();
}
for (frame_no=1; frame_no <= 3; frame_no++) {
for (mask_no=1; mask_no <= 8; mask_no++) {
if (_root["bg_mask"+frame_no]["mask"+mask_no].hitTest(_xmouse,_ymouse, true)) {
this.setMask(_root["bg_mask"+frame_no]["mask" + mask_no]);
}
}
_root["frame"+frame_no].swapDepths(_root.getNextHighestDepth());
}
}
}
... Ja det er svært at forklare, håber nogen vil hjælpe anyway.