Показать сообщение отдельно
Старый 04.07.2002, 01:22
Rotator вне форума Посмотреть профиль Отправить личное сообщение для Rotator Найти все сообщения от Rotator
  № 8  
Rotator

Регистрация: Jul 2001
Сообщений: 29
За "издевательства" спасибо, но не все в них оказалось для меня понятным:
onClipEvent (load) {
i = 1;
htest = 5;
c = new Color(this);
cTr = new Object();
}
onClipEvent (enterFrame) {
this._y += i*(htest+this._y/30);
Строчкой выше осуществляется управление пресловутым ускорением. С этим все ясно
if (this._y>420) {
removeMovieClip (_target);
}
//Здесь тоже без вопросов

Следующая строчка, кажется, заставляет возвращаться отлетевшую после столкновения сферу, т.к. -i+(-i) будет i Но здесь непонятен синтаксис: если стоит htest == 0, то все работает. Если же ставлю просто "=",то в скрипте вылетает ошибка. В справочнике нашел, что "==" обозначает равнество операндов. Так вот не могу врубиться, что за операнды здесь сравниваются и почему не катит подстановка банального равентсва.
else if (this._y<20 && htest == 0) {
i = -i;
htest = 1;
}
if (this.hitTest(_root.plosh)&& htest!=0)
//А ларчик-то просто открывался. Блин, куда этот hittest я только не прикручивал. С htest! такие же непонятки, как и с htest ==. Без "!" скрипт тоже не работает. В том же справочнике обнаружил, что "!" - "действует как переключатель: для истинного операнда возвращает ложь, а для ложного, напротив, итстину". Где здесь истина, где ложь? Философия пошла какая-то%) Может разъяснишь?