Тема: 18 секунд
Показать сообщение отдельно
$talker
мимопроходящий
Аватар для $talker
Сообщения: 2,543
Регистрация: 08.06.2007
Откуда: Киев
Старый пост, нажмите что бы добавить к себе блог 22 марта 2009, 13:44
Facebook
  #94 (ПС)
-Цитата от Ежик Посмотреть сообщение
бля я походу военный пилот)))
Либо так, либо у тебя 2-й пентиум...

Скорость передвижения объектов напрямую зависит от загрузки ЦП (центрального процессора)...
Если ЦП загружен на 96-99% то обработка этого JavaScript'a происходит после выполнения остальных процессов с более высоким приоритетом... Что приводит к "замедленному" движению объектов...

Можете проверить сами... запустите самые "тяжелые" программы, нажмите Ctrl+Shift+Esc, найдите процесс браузера (iexplore.exe, firefox.exe, opera.exe и т.д.) нажмите правой кнопкой мышки и выберите Приоритет -> Низкий и попробуйте "поиграть в гения"

Американские пилоты обязаны понимать общую сущность работы ПК

Функции обработки движения объектов:

-
<SCRIPT language=JavaScript type=text/javascript>
...
function movenemy(num,step_x,step_y){

var enemy = "enemy" + num + ""
var enemyx = givesize(enemy, 'x');
var enemyy = givesize(enemy, 'y');

if (giveposX(enemy) >= (450 - enemyx) || giveposX(enemy) <= 0) {
enemyxdir[num] = -1 * enemyxdir[num];
}
if (giveposY(enemy) >= (450 - enemyy) || giveposY(enemy) <= 0) {
enemyydir[num] = -1 * enemyydir[num];
}

var newposx = giveposX(enemy) + (step_x*enemyxdir[num]) + 0;
var newposy = giveposY(enemy) + (step_y*enemyydir[num]) + 0;

setposX(enemy, newposx);
setposY(enemy, newposy);

checktouching(num + "");
if (touch == 1) {
stop(); reset();
}
}

function rand(number) {
return Math.ceil(Math.random()*number);
};

function rt() {
return rand(30) - 13;
}

function rx() {
tmp = rt();

while (Math.abs(tmp) < 3) {
tmp = rt();
}

return tmp;
}


function movenemies() {

gametime = gametime + 1

next = next + 1;

if ((next == 10)&(speed>1)) {
speed = speed - 1;
next = 0;
}

if (speed < 1)
speed = 1;

if (gen != 1) {
x1 = rx();
y1 = rx();
x2 = rx();
y2 = rx();
x3 = rx();
y3 = rx();
x4 = rx();
y4 = rx();

gen = 1;
}
// window.status = "next: " + next + " speed: " + speed + " gametime: " + gametime;

movenemy(0,x1,y1);
movenemy(1,x2,y2);
movenemy(2,x3,y3);
movenemy(3,x4,y4);

setTimeout(movenemies,speed);
}

offline
Ответить с цитированием