PDA

Просмотр полной версии : Ошибка в коде. Скорее всего в getTimer


Trilan
22.07.2007, 00:45
Подскажте плиз, где тут ошибка?

onClipEvent (load) {
}
onClipEvent (enterFrame) {
if (getTimer()-ammo_timer>100 && ammo_count<5) {
ammo_timer = getTimer();
ammo_count += 1;
duplicateMovieClip(_root.ammo, 'enemy_new'+100+ammo_count, 100+ammo_count);
}
if (_root.player.hitTest(this)) {
_root._root.actions.ammo += 20;
this._x = 100000;
}
}
onClipEvent (load) {
this._x = random(100);
this._y = random(100);
}


И еще тогда сразу один вопросик: как сделать, чтобы при столкновении, обьект не улетал куда подальше а просто удалялся?

COOL_ALMANAH
22.07.2007, 11:45
во первых не понятно зачсм два раза onClipLoad, во вторых такой системой написания кода рекомендуют не пользоваться, (лучше this.onEnterFrame=function(){}, где вместо this любое имя MovieClip объекта)...
в третих тебе нужно, чтоб по прошествии 100 (секунд/милисекунд) происходило какое то дейстиве? а то не понятно просто в чем ошибка...если да, то сразу вопрос ammo_timer у тебя объявлена ДО onEnterFrame? если нет, то перед циклом onEnterFrame напиши ammo_timer = getTimer();

а по поводу удаления клипов -
if (_root.player.hitTest(this)) {
this.removeMovieClip()
}где вместо this может быть любой обект...

aksios
22.07.2007, 12:57
А это чего означает?
_root._root.actions.ammo += 20;

onClipEvent (load)
Зачем?

Mr. Fixit
23.07.2007, 00:50
ну и страшный код.

Trilan
23.07.2007, 11:27
Спасибо за ваши комментарии, по ним я немного подправил код:
onClipEvent (load) {
this._x = random(500);
this._y = random(500);
ammo_timer = getTimer();
ammo_count = 0;
}
onClipEvent (enterFrame) {
if (getTimer()-ammo_timer>500 && ammo_count<5) {
ammo_timer = getTimer();
ammo_count += 1;
duplicateMovieClip(_root.ammo, 'ammo_new'+100+ammo_count, 100+ammo_count);
}
if (_root.player.hitTest(this)) {
_root._root.actions.ammo += 20;
this.removeMovieClip();
}
}

Теперь все работает, но возникла другая проблема. Мне надо чтобы 5 объектов в разброс поочереди появились на карте, а вот, что получилось:
По определенной области эти объекты появляются, но постоянно пропадают, тоесть как бы сменяют друг друга.