Цитата:
|
Сообщение от goarcade
Посмотрел я твой исходник - не тормозит, даже когда ставишь 100 монстров.
Попробуй мой код. Если не будет тормозить - юзай
 Код:
//массив для 100 монстров
var monsterList:Array = new Array(100);
function onEnterFrame() {
// координаты игрока
var playerX = _xmouse;
var playerY = _ymouse;
for (var i:Number = 0; i<monsterList.length; i++) {
var monster:MovieClip = monsterList[i];
var dx:Number = playerX-monster._x;
var dy:Number = playerY-monster._y;
var angle:Number = Math.atan2(dy, dx);
monster._rotation = angle*180/Math.PI;
//свойство: a>b == a*a>b*b
if (dx*dx+dy*dy>50*50) {
monster._x += monster.speed*Math.cos(angle);
monster._y += monster.speed*Math.sin(angle);
}
}
}
//создаем монстров
for (var i:Number = 0; i<monsterList.length; i++) {
var monster:MovieClip = createMonster("monster"+i, i);
monsterList[i] = monster;
monster._x = Math.random()*Stage.width;
monster._y = Math.random()*Stage.height;
var maxSpeed:Number = 2;
var minSpeed:Number = 0.5;
monster.speed = minSpeed+Math.random()*(maxSpeed-minSpeed);
}
function createMonster(name:String, depth:Number):MovieClip {
var mc:MovieClip = _root.createEmptyMovieClip(name, depth);
mc.lineStyle(1);
mc.beginFill(Math.random()*0xcccccc,100);
var r:Number = 10;
mc.moveTo(-r,-r);
mc.lineTo(r,0);
mc.lineTo(-r,r);
mc.endFill();
return mc;
}
|
Исходник который выложил я и у меня не тормозит, но стоит кружки заменить на боллее сложный и красивый обьект, как все тормозить начинает.
Твой код, хоть аккуратние и красивей моего, но результат то же заменил рисование треугольников подгрузкой клипа монстра из библиотеки и все опять начало тупить (((((, не ужели компилятор flash'a, такой не совершенный !?!?!