Форум 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=104578)

ford05 28.11.2007 10:12

как саттачить объект чтоб он начал движение по траектории
 
как саттачить объект чтоб он начал движение по траектории.
Например есть шар - он начал движение по траектории. Мне надо, чтоб через несколько секунд добавился к движению по траектории ещё объект, потом ещё. Желательно в классе. Плиз HELP!!!

etc 28.11.2007 10:50

Что конкретно у вас не получается? И давайте без «желательно».

ford05 28.11.2007 20:51

Вот что я писал в PlayArea.as.
Не получается добавить ещё один шар, к движению по нарисованной траектории.

Код:

class PlayArea extends MovieClip {
        private var numDepth:Number = 10;
        function PlayArea() {
        }
        function GoCurrentBall() {
                //this.numDepth++;
                this.gotoAndPlay(1);
// как указать, что когда переход на восьмой кадр создать следующий шар?Или лучше использовать временной промежуток?
                if(this.gotoAndPlay(8)){
                this.GoNextBall();}
        }
        function GoNextBall() {
                this.numDepth++;
                _root.mc_PlayArea.duplicateMovieCli("ball"+this.numDepth,this.numDepth);
//устанавливаю шар в начало траектории
                _root.mc_PlayArea["ball"+this.numDepth]._x = 533;
                _root.mc_PlayArea["ball"+this.numDepth]._y = 270;
                _root.mc_PlayArea.gotoAndPlay(2);
        }
       
}


iNils 28.11.2007 21:07

ford05, для оформления своего кода, надо использовать теги [code][/code].

ford05 29.11.2007 19:31

Вложений: 1
Вот пример. Как сделать?

CorC 01.12.2007 15:57

Цитата:

Сообщение от ford05
как указать, что когда переход на восьмой кадр создать следующий шар?

Код:

if(this._currentframe == 8){
  GoNextBall();
}

и еще посмотрите баг про
Цитата:

Код:

duplicateMovieCli("ball"


ford05 02.12.2007 13:24

Вложений: 1
CorC, this._currentframe == 8, не работает, зато когда пишу this._currentframe == 1 шар помещается в заданную мной координату, но не продолжает своё движение.
Первый шар едет по траектории, потому что я его поставил в начало и в конец(на последнем кадре), но второй шар ,когда я его аттачу встаёт в начало траектори, а в конце его нет - может поэтому он не продолжает движение? Если это так, то как саттачить шар сразу в последний кадр?

CorC 03.12.2007 10:50

Потому что у вас код выполняется на 1 кадре, а не на 8. Надо что то типа onEnterFrame ставить. А то что он помещается и не продолж движение, дак значит плохо закодировано.
З.Ы.: исходник не глядел, пока некогда :)

ford05 08.12.2007 17:14

Нашёл решение с помощью setInterval, и нашёл ошибку с duplicate - наверно нудно как-то через attachMovie, а то flash ругается:TypeMismatch.
Код:

class PlayArea extends MovieClip {
        private var numDepth:Number = 0;
        private var TimeInterval:Number = 360;
        private var intervals:Number;
        function PlayArea() {
        }
        function Interval() {
                intervals = setInterval(GoNextBall, TimeInterval);
        }
        function GoCurrentBall() {
                _root.mc_PlayArea.ball0.gotoAndStop(1);
                this.Interval();
        }
        function GoNextBall() {
                this.numDepth++;
                //Проблема с duplicate
                duplicateMovieClip("ball0", "ball"+String(this.numDepth), this.numDepth);
                updateAfterEvent();
        }
}


ford05 09.12.2007 16:47

Всё сделал, кому нужен готовый исходник пишите.


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

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