Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > Зделать чтобы неповторялся ролик после обновления


Автор: X-Vlad 21.12.2006, 18:36
Привет всем.

Сделал для сайта шапку на флеше.. немного анимации.
Вопрос..

когда обновляется страница (например перешли с страницы "главная" на "новости" или другую)
флеш ролик начинается с начала... как можна зделать чтобы полностью он проигрывался только один раз? 

Например чел зашел на сайт, попал на главну, ему проигрался клип полностью, после перехода на другие страницы клип переходит на последний кадр.

Как это реализовать?

Автор: AlDev 21.12.2006, 18:44
SharedObject

Автор: GZep 21.12.2006, 18:46
F1 в macromedia/adobe flash нажми а там найди предыдущий пост. На английском правда... smile 

Автор: X-Vlad 21.12.2006, 18:53
я себе это предсталяю так :

в первом кадре 

 if update==1
  {
    gotoandplay(100)
  }
 else
  {
   update=0 
  }


в последнем

 if update==0 
  {update=1}

Автор: GZep 21.12.2006, 19:52
Типо того...Только зачем integer значения??? Разве так не проще?:
Код

//в первом кадре 
tf (update) {
    gotoandplay(100);
}
//в последнем
if (!update) {
    update = true;
}


З.Ы. Пользуйся [code=аscript] [/code]

Автор: X-Vlad 21.12.2006, 20:01
Цитата(GZep @ 21.12.2006,  18:52)
Типо того...Только зачем integer значения??? Разве так не проще?:
Код

//в первом кадре 
tf (update) {
    gotoandplay(100);
}
//в последнем
if (!update) {
    update = true;
}


З.Ы. Пользуйся [code=аscript] [/code]

а после перезагрузки страницы переменные непропадают? 

Автор: GZep 21.12.2006, 22:54
Цитата(X-Vlad @  21.12.2006,  20:01 Найти цитируемый пост)
а после перезагрузки страницы переменные непропадают?  

Пропадают, наверное smile Попробуй в куках хранить.
Код

//в первом кадре
tf (String(ExternalInterface.call("getCookie", "flash"));
) {
gotoAndPlay("последний_кадр");
}
//в последнем
getURL("javascript:setCookie(\"1\",\"flash\",1);");
stop();

Для того, чтобы эти функции работали, пользуйся всеобщим достоянием на javascript:
Код

function getCookie( name ) {
    var start = document.cookie.indexOf( name + '=' );
    var len = start + name.length + 1;
    if ( ( !start ) && ( name != document.cookie.
substring( 0, name.length ) ) ) {
        return null;
    }
    if ( start == -1 ) return null;
    var end = document.cookie.indexOf( ';', len );
    if ( end == -1 ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
}
    
function setCookie( name, value, expires, path, domain, secure ) {
    var today = new Date();
    today.setTime( today.getTime() );
    if ( expires ) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    document.cookie = name+'='+escape( value ) +
        ( ( expires ) ? ';expires='
+expires_date.toGMTString() : '' ) +
//expires.toGMTString()
        ( ( path ) ? ';path=' + path : '' ) +
        ( ( domain ) ? ';domain=' + domain : '' ) +
        ( ( secure ) ? ';secure' : '' );
}
//а эту функция я выложил "для компании", не более. Она тут не нужна, можно удалить
function deleteCookie( name, path, domain ) {
    if ( getCookie( name ) ) document.cookie = name + '=' +
            ( ( path ) ? ';path=' + path : '') +
            ( ( domain ) ? ';domain=' + domain : '' ) +
            ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

Если помог, то можно и + smile 

Автор: AlDev 22.12.2006, 10:48
Ой. извращение куки браузера.

1. Есть русский перевод help-а
http://flash-ripper.com/archives/001018.htm

2. Накуя браузер...
Код

var so:SharedObject = SharedObject.getLocal("playCount");
if (Boolean(so.data.played))
  _root.goToAndStop(100);
else {
  so.data.played = true;
  so.flush();
  _root.goToAndPlay(2);
}
stop();


GZep, у тебя вариант ТОЛЬКО для Flash 8. И, пардон, через n-ное место.

Добавлено @ 10:49 
Цитата(GZep @  22.12.2006,  03:54 Найти цитируемый пост)
Пропадают, наверное smile Попробуй в куках хранить.

Кончено пропадают

Автор: GZep 22.12.2006, 16:33
Цитата(AlDev @  22.12.2006,  10:48 Найти цитируемый пост)
GZep, у тебя вариант ТОЛЬКО для Flash 8.

А я старьем не пользуюсь smile 
Цитата(AlDev @  22.12.2006,  10:48 Найти цитируемый пост)
1. Есть русский перевод help-а

Ссылка нужная, спасибо! smile 

Автор: AlDev 22.12.2006, 18:48
GZep, 
гы =) тады почему не Flex 2/Flash 9 ? =)

Автор: GZep 23.12.2006, 18:05
Цитата(AlDev @  22.12.2006,  18:48 Найти цитируемый пост)
Flex 2

Не умею.
Цитата(AlDev @  22.12.2006,  18:48 Найти цитируемый пост)
Flash 9

Вроде тока альфа еще вышла...

А почему на 9 не будет работать? smile 

Автор: AlDev 23.12.2006, 21:00
Цитата(GZep @  23.12.2006,  23:05 Найти цитируемый пост)
А почему на 9 не будет работать? 

кто сказал что не будет? smile


Цитата(GZep @  23.12.2006,  23:05 Найти цитируемый пост)
Цитата(AlDev @  22.12.2006,  18:48 Найти цитируемый пост)
Flex 2

Не умею.

Эм. ActionScript =) Голый. Action Script 3.
Ну и как бонус - mxml =)

Автор: GZep 24.12.2006, 15:21
Цитата(AlDev @  23.12.2006,  21:00 Найти цитируемый пост)
кто сказал что не будет? smile

А это:
Цитата(AlDev @  22.12.2006,  10:48 Найти цитируемый пост)
GZep, у тебя вариант ТОЛЬКО для Flash 8

Цитата(AlDev @  23.12.2006,  21:00 Найти цитируемый пост)
Эм. ActionScript =) Голый. Action Script 3.
Ну и как бонус - mxml =) 

 smile 

Автор: AlDev 24.12.2006, 16:48
Цитата(GZep @  24.12.2006,  20:21 Найти цитируемый пост)
А это:
Цитата(AlDev @  22.12.2006,  10:48 Найти цитируемый пост)
GZep, у тебя вариант ТОЛЬКО для Flash 8


имел ввиду что для версий не ранее 8-й )

Автор: GZep 25.12.2006, 11:36
Цитата(AlDev @  24.12.2006,  16:48 Найти цитируемый пост)
имел ввиду что для версий не ранее 8-й ) 

 smile 
Цитата(GZep @  22.12.2006,  16:33 Найти цитируемый пост)
А я старьем не пользуюсь smile 


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)