Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Изменение начальной точки координат (http://www.flasher.ru/forum/showthread.php?t=149586)

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
Код AS1/AS2:

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:
Код AS1/AS2:

100 + Math.random() * 100

То есть лучше всего так:
Код AS1/AS2:

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.
Ну тогда, все, как в глубокую старину:
Код AS1/AS2:

mtx = 100 + random(100);
mty = 100 + random(100);


TYPUS406 28.01.2011 13:19

Огромное СПАСИБО++++++++
за внимание ++++++++++++
за время +++++++++++++++
Заработалоооооооооооооооо

mooncar 28.01.2011 13:32

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


Часовой пояс GMT +4, время: 22:47.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.