Salve a tutti.
La prima parte di questo script crea una funzione "pennello" che fa si che al "mouse down" sia possibile "disegnare" sulla superfice di un MC.
Mi domando se e come è possibile iserire un bottone per attivare e disattivare questa funzione per fare in modo che non sia costantemente "attiva".
Allego la sorgente, segue codice:
var iconDepth:Number = 0;
var down:Boolean = false;
_root.onMouseDown = function() {
if (_root.canvas_mc.hitTest(_root._xmouse, _root._ymouse)) {
var x:Number = _root._xmouse;
var y:Number = _root._ymouse;
_root.holder_mc.moveTo(x, y);
down = true;
}
};
_root.onMouseUp = function() {
down = false;
};
var currentColor:String = "000000";
_root.createEmptyMovieClip("holder_mc", 100);
function draw() {
_root.holder_mc.lineStyle(1,parseInt(currentColor, 16), 100);
var x:Number = _root._xmouse;
var y:Number = _root._ymouse;
_root.holder_mc.lineTo(x, y);
}
_root.onMouseMove = function() {
updateAfterEvent();
if (down && _root.canvas_mc.hitTest(_root._xmouse, _root._ymouse)) {
draw();
} };
window1_mc.gotoAndStop("color");
window2_mc.gotoAndStop("admin");
var topClip:MovieClip = window1_mc;
function swap(clip:MovieClip) {
clip.swapDepths(topClip);
topClip = clip;
}
function buildIconList() {
var spacing:Number = 85;
var iconY:Number = 360;
var iconX:Number = 70;
for (var i = 0; i < _root.icon_mc._totalframes; ++i) {
var newName:String = "icon_mc" + i;
var clip:MovieClip = _root.icon_mc.duplicateMovieClip(newName, 10000 + i);
clip.gotoAndStop(i + 1);
clip._x = iconX + i * spacing;
clip._y = iconY;
clip.homeX = clip._x;
clip.homeY = clip._y;
clip.icon_btn.onPress = function() {
startDrag(this._parent);
};
clip.icon_btn.onRelease = function() {
stopDrag();
_root.iconReleased(this._parent);
};
}
}
buildIconList();
function iconReleased(icon:MovieClip) {
if (_root.canvas_mc.hitTest(_root._xmouse, _root._ymouse)) {
++iconDepth;
var newName:String = "object" + iconDepth + "_mc";
var clip:MovieClip = icon.duplicateMovieClip(newName, iconDepth);
clip.gotoAndStop(icon._currentFrame);
clip.icon_btn.enabled = false;
clip._xscale = 250;
clip._yscale = 250;
}
icon._x = icon.homeX;
icon._y = icon.homeY;
}
function clearContent() {
_root.holder_mc.clear();
for (var i = 0; i <= iconDepth; ++i) {
var name:String = "object" + i + "_mc";
_root[name].removeMovieClip();
}
iconDepth = 0;
}
icon_mc.onEnterFrame = function(){
_root.icon_mc._visible = false;
}