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

Crimean_Wind 15.07.2006 21:59

Рандомный выбор изображений - слишком быстро
 
Доброго времени суток.

Заранее прошу прощения, скорее всего решение всей проблемы простое, но дело в том, что я просто не вижу где его искать, занимаюсь Флэш нечасто, для себя, опыта немного. Честно искал решение проблемы самостоятельно.

Что нужно:

Это шапка на сайте.
В зависимости от времени суток, выбирается одна из пяти картинок, рандомно. Она выбирается и спокойно ждет своей участи до перезагрузки страницы. Затем она может смениться... может нет, несущественно, рандом.

Делалось это так (кусок для одного промежутка времени):

Спрайт:
Код:

if (!_load)
{
    _load = 1;
    tellTarget("..")
    {       
                myDate = new Date();
        hours = myDate.getHours();
        if (!(hours <= 3 ? (true) : (hours > 6)))
        {
        _root.gotoAndStop(random(5)+32);
        }
    }
}

В соответствующих фреймах содержится инфомация:

Код:

loadMovieNum("img/rassvet/1-5.jpg", 1);
stop ();

Проблема:

Картинки меняются. Но со скоростью 3 в секунду. Не останавливаясь на одной :)

Заранее спасибо за помощь и за понимание :)

Usnul 16.07.2006 01:30

Код:

if (!_load)
{
    _load = true;
    tellTarget("..")
    {       
                myDate = new Date();
        hours = myDate.getHours();
        if (!(hours <= 3 ? (true) : (hours > 6)))
        {
        _root.gotoAndStop(random(5)+32);
        }
    }
}

вообще в том что ты написал есть немного путаницы, но в общем никаких логических ошибок. Я думаю что переменная _load получает значение false где-то еще. Давай исходник или весь код, тогда можно будет судить.

iNils 16.07.2006 01:57

2 Usnul:
Код:

flag = 0;
trace (flag == true);
flag = 1;
trace (flag == true);


Crimean_Wind 16.07.2006 22:56

Факт, что роли в данном случае это не играет. Load вобще нигде не используется, только там и в прелоадере. Причем в прелоадере точно также: если _load=true, тогда поехали.

Может еще идеи будут? Вобще если есть желание помочь - я скину исходник, если даю не исчерпывающую информацию о проблеме.

Crimean_Wind 17.07.2006 01:09

Спасибо Usnul. Дал направление где искать ошибку

Usnul 17.07.2006 02:11

iNils, теперь попробуй то же самое в AS3. Нужно-ли говорить о том что 1,0 и прочие численные значения не имеют ничего общего с логическими значениями true и false?

я не утверждаю что оно "не работает", я просто указываю на то что это не верно.

iNils 17.07.2006 02:23

Usnul, найди сначала в AS3 tellTarget. Нужно-ли говорить что 1,0 и прочие численные значения имеют общее с логическими значениями true и false не в AS3?

Nirth 17.07.2006 22:12

Код:

function checkTrue(value:*):Boolean
{
        if(value)
        {
                trace("true");
        }else
        {
                trace("false");
        }
}
var num:Number = 1.1;
checkTrue(num);
var str:String = "foo";
checkTrue(str);

checkTrue(1);
checkTrue(<xml><node></node></xml>);

checkTrue(0);

аутпутит
Цитата:

true
true
true
true
false

Crimean_Wind 18.07.2006 00:44

Сейчас посидел, посмотрел еа чужие работы, оценил свою, переписал заново )), не раскидывая код по всей флэшке.

Кстати, вся проблема заключалась-таки в использовании random(5). Как только переделал на Math.random(5)*10, все заработало как надо :)

Usnul 18.07.2006 04:11

Код:

trace("Saying that 1 is a logic value is a "+(1 is Boolean)+" statement.");
дайте мне плюс или бан уже.


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

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