Показать сообщение отдельно
Старый 06.12.2008, 16:43
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 6  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Я бы посоветовал использовать onPress, onRelease чтобы не было проблем с обработкой других кнопок (при нажатии на них происходило бы рисование). Для этого придется нарисовать "планшет", т.е. лист, на чем мы будем рисовать. В вашем случае проблема была в том, что вы создавали клипы для линий, а рисовали всеравно в главном (mc).
Код AS1/AS2:
var lineCount:Number = 0;
var lineColor:Number = 0x9999FF;
var planshetColor:Number = 0xFFFF00;
var penUp:Boolean = false;
 
var planshet_mc:MovieClip = drawPlanshet(container);
 
function drawPlanshet(target_mc:MovieClip):MovieClip{
	var mc:MovieClip = target_mc.createEmptyMovieClip('mc', target_mc.getNextHighestDepth());
	mc.useHandCursor = false;
 
	mc.beginFill(planshetColor);
	mc.lineTo(Stage.width, 0);
	mc.lineTo(Stage.width, Stage.height);
	mc.lineTo(0, Stage.height);
	mc.lineTo(0,0);
	mc.endFill();
 
	return mc;
}
 
planshet_mc.onPress = function() {
	penUp = false; 
	lineCount++;
	this.createEmptyMovieClip("inLine" + lineCount, this.getNextHighestDepth());
	this['inLine' + lineCount].moveTo(_xmouse, _ymouse);
	this['inLine' + lineCount].lineStyle(5, lineColor);
}; 
planshet_mc.onMouseMove = function() {
	if (!penUp) {
		this['inLine' + lineCount].lineTo(_xmouse, _ymouse);
		updateAfterEvent();
	}
};
planshet_mc.onRelease = function() {
	penUp = true;
};
 
function undo(){
	planshet_mc['inLine' + lineCount].removeMovieClip();
	lineCount--;
}
undo_btn.onRelease = undo;