在涂鸦程序中,一个mc内绘制大量的图形会严重的消耗cpu资源,当绘制10秒时候已经出现大的延迟了,要解决这个问题,就需要在一定时间后再建一个mc,在这个mc内绘制图形,这个可以适当的减轻cpu资源的消耗.
下面的测试程序的代码,在测试的时候打开任务管理器,安下鼠标连续的长时间绘制,可以看到任务管理器中cpu的使用情况.
//----------------
count = 0;
mcs = [];
_root.onMouseDown = function() {
if (_root._ymouse>335) {
return;
}
_root.draw = true;
_root.drawmc = _root.createEmptyMovieClip("a"+++count, count);
_root.drawmc.moveTo(_root._xmouse, _root._ymouse);
mcs.push(_root.drawmc);
t = getTimer();
};
var t;
_root.onMouseMove = function() {
if (_root.draw) {
if (getTimer()-t>3000) {
_root.onMouseDown();
trace("new mc...");
}
_root.drawmc.lineStyle(2, 0, 100);
//
if (_root._ymouse>335) {
ymouse = 335;
} else {
ymouse = _root._ymouse;
}
_root.drawmc.lineTo(_root._xmouse, ymouse);
}
};
_root.onMouseUp = function() {
_root.draw = false;
};
clear.onRelease = function() {
trace(mcs);
for (var i in mcs) {
mcs[i].removeMovieClip();
}
mcs = [];
count = 1;
};