Форум 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)
-   -   Загрузка переменнных из php и зацикливание (http://www.flasher.ru/forum/showthread.php?t=114691)

pupo4kin 06.08.2008 13:39

Загрузка переменнных из php и зацикливание
 
В swf файл загружаются переменные, генерируемые php-скриптом. Одна из переменных используется в цикле, как максимальное колличество его выполнений. На сервере все работает отлично, но, когда нажимаешь Ctrl+Enter, все зацикливается. И это понятно, т.к. сам флэш не понимает php. Возможно ли как-то избежать таких зацикливаний. Может, в настройках есть какие-то функции. Спасибо.

MrPoma 06.08.2008 13:43

Покажите Ваш код.

pupo4kin 06.08.2008 13:47

Код:

cont = new LoadVars();
        cont.onLoad = function(success) {
          if (success) {
              a=true;
          }
        }
cont.load("button.php");

onEnterFrame=function()
{
  if(a)
  { 
      for(i=1; i<=cont.count; i++)
      {
        Тут функция создания кнопок, например.
      }
  }
}


pupo4kin 06.08.2008 13:48

Код:

cont = new LoadVars();
        cont.onLoad = function(success) {
          if (success) {
              a=true;
          }
        }
cont.load("button.php");

onEnterFrame=function()
{
  if(a)
  { 
      for(i=1; i<=cont.count; i++)
      {
        Тут функция создания кнопок, например.
      }
  }
}


pupo4kin 06.08.2008 13:50

Прошу прощения - глюки какие-то на сайте.
count - это переменная из php-файла.

Kamchatka 06.08.2008 14:51

Нет флеша на работе, а если cont.count==0? проверьте-ка

UPD: и ещё, переменная а вроде как локальна для cont.onLoad

pupo4kin 06.08.2008 15:23

Нет, нулю равно не может быть. Это в php-скрипте оговорено.
На счет второго - не понял, что вы имеете в виду.

Kamchatka 06.08.2008 15:48

переменная а, если не была выше описана, может быть "не видна" в onEnterFrame.

А вообще на стадии отладки я бы добавил def-значения включаемые по флагу, типа

Код:

if ( _global.debuggingMode ) {
  cont.count=5;
}

Может ошибаюсь)

MrPoma 06.08.2008 16:30

А зачем Вы каждый кадр создаете одни и те же кнопки?

Код:

cont = new LoadVars();
cont.onLoad = function(success) {
    if (success) {
        createButtons(Number(this.count));
    }
}
cont.load("button.php");

function createButtons(num:Number):Void{
  for(var i = 1; i <= num; i ++){
        //Тут функция создания кнопок, например.
  }
}


crazyone 06.08.2008 16:48

Я бы даже так сделал:
Код:

cont.onLoad = function(success) {
    if (!isNaN(Number(this.count))) {
        createButtons(Number(this.count));
    }
}


Kamchatka 06.08.2008 17:12

А главное, это работает на сервере)

pupo4kin 06.08.2008 17:23

Честно, говоря, не помню, почему так делал. Может, и надо зачем-то. Хотя, ваш вариант разумнее))

pupo4kin 06.08.2008 17:58

Вспомнил, там у меня не функция создания кнопок, а функция нажатия на каждую из них.


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

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