Форум 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)
-   -   Повтор действия через время. AS2 (http://www.flasher.ru/forum/showthread.php?t=184953)

FixMAN 01.10.2012 11:27

Повтор действия через время. AS2
 
Есть объект который непрерывно движется в одну сторону:
Код AS1/AS2:

onClipEvent (enterFrame) 
{
        _x+=2;
 
}

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

Hauts 01.10.2012 12:10

FixMAN, не пишите код на клипах, пишите в кадрах. Это избавит вас от множества проблем.

Относительно задачи — не понятно, что именно вы хотите сделать. Чтоб клип двигался, например, 5 секунд, потом постоял 2 секунды, потом возвращался в исходное положение и заново так же зациклено двигался?

mooncar, может есть такая возможность, на странице создания новой темы как-нибудь пожирнее написать о том, что не стоит писать код на клипах (и на примерах "onClipEvent() on(release)" и т.п.), а стоит, тогда уж, в кадрах? :)

FixMAN 01.10.2012 12:30

Объект совершает бесконечное действие (движется от точки "А" в "Б-бесконечность"). Нужно, что бы через какое то время объект снова начал свое движение от точки "А", с постоянным повторением этого действия.
Я в кодах не силён. Какую нужно фунцию прописать, что бы работать с объектом?

Hauts 01.10.2012 12:35

Код AS1/AS2:

myClip.onEnterFrame = function(){
    if(this._x < 1000){
        this._x ++;
    } else {
        this._x = 100
    }
}


FixMAN 01.10.2012 13:05

А разжевать?
http://***************/KEZT9U
Там лежит мой файл. Описывать долго, лучше посмотрите.

Добавлено через 1 минуту
files(точка)mail(точка)ru/KEZT9U

Hauts 01.10.2012 13:12

Так себе урл.

Разжевать? Хм.

Код AS1/AS2:

myClip.onEnterFrame = function(){

— на каждое обновление экрана (каждый новый кадр) устанавливаем выполнение функции для клипа, лежащего на сцене с instance name "myClip".

Код AS1/AS2:

    if(this._x < 1000){
        this._x ++;
    } else {
        this._x = 100
    }

— если положение myClip по горизонтали меньше, чем 1000 пикселей, к положению по горизонтали (свойство _x) прибавляем 1.

Если же положение больше, чем 1000, тогда устанавливаем положение в 100, а значит в следующий раз выполнения функции будет выполняться первое условие, и клип опять поедет вправа.

Добавлено через 3 минуты
Насчет файла — в расширенном режиме сообщений его прям на форум выкладывайте.

И на в цс6, не у всех последняя версия стоит :)

FixMAN 01.10.2012 13:21

Ок. Разобрался. Спасибо :)

mooncar 01.10.2012 13:32

FixMAN, исходники нужно прикреплять к сообщению, а не стараться обойти автоцензор.
http://www.flasher.ru/forum/showthread.php?t=179076

FixMAN 01.10.2012 13:34

Буду знать.


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

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