PDA

Просмотр полной версии : Что-то не учел...


Trilan
24.07.2007, 19:36
Я что-то не учел в коде или у меня тут какая-то ошибка? Посмотрите пожалуйста.

onClipEvent (load) {
this._x = random(800);
this._y = random(500);
}
onClipEvent (enterFrame) {
time = 0;
tellTarget ("/") {
if (_root.player.hitTest(this)) {
this._x -= 100000;
_root.player.s += 5;
time = 1;
if (time>0) {
time += 1;
}
if (time == 100) {
time = 0;
_root.player.s -= 5;
}
}
}
}

У меня есть игрок, который при столкновении с этим объектом, должен розгоняться на время. Но при столкновении он только розгоняеться, но не на время, а почему-то навсегда.

iNils
24.07.2007, 19:44
Плюс за название темы.

†‡Paladin‡†
24.07.2007, 20:13
Каждый раз при смене кадра у тебя таймер обнуляется time = 1;

Trilan
24.07.2007, 20:17
Простите, но не совсем понял. Можно поподробнее? А если вам не сложно, можете просто сказать, что я упустил или сделал не правильно? Ведь я уверен, что я просто пропустил какую-то строчку...

†‡Paladin‡†
24.07.2007, 20:28
Беру свои слова по поводу time = 1 обратно. Код в топку. Для работы с временем используй setInterval. На клипах код сейчас не пишется. Пиши как минимум в кадрах, используя _root.onEnterFrame и прочее.

Trilan
24.07.2007, 20:36
Послушайте, это все я прекрасно знаю и понимаю. Но все же, не скажите, где тут у меня ошибка? Пожалуйста, я вас очень прошу.

AleXNoD GD
25.07.2007, 05:13
А что такое tellTarget? :D
Никогда не использовал за всё это долгое время.
По поводу ошибок - сложно сказать, потому что код воистину левый. Писать действия на каждый кадр лучше с помощью такой вот конструкции, вставленной ЖЕЛАТЕЛЬНО в ПЕРВЫЙ кадр:

_root.onEnterFrame = function(){
// код относительно кадра и никакого гемора с путями
}

CorC
25.07.2007, 09:57
попробуйте воспользоваться функцией trace что б отловить, что не так.

Cкептик
25.07.2007, 12:27
Или ctrl+shift+enter для отладки ролика. Подпишусь под советом "писать действия в кадр, нежели в movie clip".

Kikasso
25.07.2007, 19:42
†‡Paladin‡†, а что вы свои слова обратно берете? Так и есть.

time = 1;
//...
if (time == 100) {
//...
}

Trilan, вопрос на засыпку, откуда 100 если только сказали что 1?