Форум 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.");
дайте мне плюс или бан уже.

Techmaker 18.07.2006 08:59

2Usnul: во флэш это пока не имеет значения =))
Код:

trace(1==true);//true
если конечно делать не так, как это ещё можно делать =))
Код:

trace(new Number(1)==new Boolean(true));//false
неужели классы? =))

хех куда там до классов =))
Код:

var b:Number=new Number(1);
var c:Number=new Number(1);
trace(b==c);//false
trace(typeof(b));// object


Usnul 19.07.2006 06:47

не люблю глупые и бессмысленные споры.

iNils 19.07.2006 10:49

Цитата:

Сообщение от Usnul
не люблю глупые и бессмысленные споры.

Значит признать, что был не прав силы воли не хватает?


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

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