Просмотр полной версии : оптимизация кода
maxi_2704
22.02.2009, 18:28
проблемка в след.:
действия с мувиками происходят только при событии onPress на каждом из них, но действий слишком много, и перетаскивание начинает тормозить, как оптимизировать код, чтобы этого избежать ???
Ну сначало возьми код, патом выдели в нем действия и прооптимизируй их...
P.S Точнее и с кодом...
Psycho Tiger
22.02.2009, 21:33
Какой вопрос - такой ответ =)
Код в студию )
maxi_2704
22.02.2009, 21:42
var g:Number=0;
currentThumb.onRelease = function(){
while (image_mc_2.getInstanceAtDepth(g) != undefined) {
g++;
}
currentImage = image_mc_2.createEmptyMovieClip("imagenail"+g,image_mc_2.getNextHighestDepth ());
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc) {
trace(target_mc);
trace(currentImage);
currentImage.onPress = function() {
this.startDrag();
this.onRelease = function() {
this.stopDrag();
}
btn_scale_plus.onRelease = function() {
target_mc._xscale = target_mc._yscale += 1;
}
btn_scale_minus.onRelease = function() {
target_mc._xscale = target_mc._yscale -= 1;
}
btn_rotate_left.onRelease = function() {
target_mc._rotation-= 1;
}
btn_rotate_right.onRelease = function() {
target_mc._rotation+= 1;
}
btn_delete.onRelease = function() {
image_mcl.unloadClip(target_mc);
trace(target_mc.getDepth());
}
btn_position_down.onRelease = function() {
mx.behaviors.DepthControl.sendToBack(target_mc);
}
btn_position_up.onRelease = function() {
mx.behaviors.DepthControl.bringToFront(target_mc);
}
btn_alpha_minus.onRelease = function() {
target_mc._alpha-= 5;
}
btn_alpha_plus.onRelease = function() {
target_mc._alpha+= 5;
}
trace(target_mc.getDepth());
}// end of currentImage.onPress
}// end of mclListener.onLoadInit = function(target_mc:MovieClip)
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip(baseurl + this.IMAGE, currentImage);
}//end of currentThumb.onRelease
maxi_2704, вы хотя бы форматировали код, прежде чем его выкладывать.
maxi_2704
24.02.2009, 15:32
вешаю на currentImage.onPress изменение цвета с помощью палитры, код очень громоздкий, и startDrag() stopDrag() начинает тормозить, как этого можно избежать??? Заранее благодарен )
По хорошему нужно использовать
updateAfterEvent();
Попробуйте это:
currentImage.onPress = function() {
this.startDrag();
this.onRelease = function() {
this.stopDrag();
}
Заменить на это:
currentImage.onPress = function() {
this.startDrag(false);
currentImage.onMouseMove = function() {
updateAfterEvent();
};
};
currentImage.onMouseUp = function() {
delete currentImage.onMouseMove;
stopDrag();
};
maxi_2704
24.02.2009, 17:13
немного не правильно выразился(
тормозит не само перетаскивание, а отклик мувика при startDrag
maxi_2704
04.03.2009, 14:44
sorry за мултипост (=
но что всё-таки можно с этим сделать?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.