PDA

Просмотр полной версии : Изменение начальной точки координат


TYPUS406
28.01.2011, 09:17
Добрый день.
Подскажите если кому не лень как корректно изменить нулевое значение
координат x и y, в программно заданном движении клипа.

Пробовал тупо вписать x=a , y=a, в этом случаи цикл движения рушится,
задача сделать движение в рамках допустим 100-200, а не 0-200, как в
коде проекта.


//

MovieClip.prototype.sMove = function(speed, tx, ty) {
this._x += speed*(tx-this._x);
this._y += speed*(ty-this._y);
};
_root.mousemove._visible=0;
_root.ball._visible=0;
_root.mousemove.onEnterFrame=function(){
if(random(10)==1){
mtx=random(200);
mty=random(200);
}
this.sMove(0.05,mtx,mty);
};
_root, ball.onEnterFrame=function () {
for (var j = 0; j<5; j++) {
mc = this.duplicateMovieClip("ball"+i, i);
mc._rotation = random(360);
mc._x = _root.mousemove._x;
mc._y = _root.mousemove._y;
i++;
}
};

Tails
28.01.2011, 09:46
Что-то непонятно ничего, там у вас видимо один клип за другим бежит, который привязан к мышке. Чтоб решить вашу проблему нужно мышке (вашему невидимому клипу) не улетать куда ненадо.

Выложите весь код, и оформите его тегом AS, пока вашу тему не нашол местный GC

TYPUS406
28.01.2011, 11:23
Да это и есть весь код, просто хотелосьбы изменить как то
область действия -
//
mtx=random(200);
mty=random(200);


Так она от0 до200, а нужно скажем от100 до200

Я пока слабо что то рублю в том числе - оформмение, сделал как в "ПРАВИЛАХ"

mooncar
28.01.2011, 11:27
Так она от0 до200, а нужно скажем от100 до200
mtx = 100 + Math.random(100);
mty = 100 + Math.random(100);

TYPUS406
28.01.2011, 12:04
Попробовал - не поехало.
в арианте-
//
mtx=random(200);
mty=random(200);

область действия от0 до 200


в арианте-
//
mtx = 100 + Math.random(100);
mty = 100 + Math.random(100);
.
область действия от100 до 100 (просто стоит)

mooncar
28.01.2011, 12:24
Пардон, описка. Для метода Math.random() по другому, нежели чем для функции random:
100 + Math.random() * 100

То есть лучше всего так:
mtx = 100 + Math.round(Math.random() * 100);
mty = 100 + Math.round(Math.random() * 100);
Math.round для того, чтобы по целым координатам было.

TYPUS406
28.01.2011, 12:39
Попробовал - не поехало.
Ошибок выдает кучу, но все равно это ближе всего к результату.
Вот исходник, может поможет.
http://***************/9IGW90

mooncar
28.01.2011, 12:45
Ага, у вас проект под FP6 и на AS1.
Ну тогда, все, как в глубокую старину:
mtx = 100 + random(100);
mty = 100 + random(100);

TYPUS406
28.01.2011, 13:19
Огромное СПАСИБО++++++++
за внимание ++++++++++++
за время +++++++++++++++
Заработалоооооооооооооооо

mooncar
28.01.2011, 13:32
Пожалуйста. :) На форуме теперь можно благодарить с помощью "репутации" (кнопка весов).

Tails
28.01.2011, 13:33
mooncar
Добавь в подпись :)