Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.04.2013, 22:05
aivashchenko вне форума Посмотреть профиль Отправить личное сообщение для aivashchenko Найти все сообщения от aivashchenko
  № 1  
Ответить с цитированием
aivashchenko

Регистрация: Nov 2012
Сообщений: 31
По умолчанию Переход на кадр с задержкой по данным из SQL

Получаю данные из php в as3 массив, делю сплитом и через таймер вывожу в textfild.
Код AS3:
stop ();
 
function requestData():void {
 
 
var variables:URLVariables = new URLVariables();
 
var varSend:URLRequest = new URLRequest("http://10.99.166.181/ebrd/main_zapros_ebrd.php");
varSend.method = URLRequestMethod.POST;
varSend.data = variables;
 
var varLoader:URLLoader = new URLLoader;
varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
varLoader.addEventListener(Event.COMPLETE, completeHandler);
 
	 function completeHandler(event:Event):void{
 
 
	  if (event.target.data.returnBody == "") {
		vivod.text = "нет данных от sql";
      } else {
 
var items:Array = event.target.data.returnBody.split("^^^");
 
var itemIndex:int = 0;
 
var myTimer:Timer = new Timer(1000);
myTimer.addEventListener(TimerEvent.TIMER, timerListener);
myTimer.start();
 
function timerListener(e:TimerEvent):void 
{
 
  itemIndex++;
  if (itemIndex == items.length-1) itemIndex = 1; 
 
  pole.text =items[itemIndex];
  trace (pole.text);
 
}
 
  }
 
      }
 
variables.requester = "main_ebrd";
 
varLoader.load(varSend);
 
}
requestData();
все отлично, пока не пишу переход:


Код AS3:
pole.addEventListener (Event.CHANGE, perehod)
 function perehod (e:Event):void {
 gotoAndStop (pole.text);
 }
Первый цикл проходит нормально, а потом задваивается, ускорятся, путает числа...

p.s. затея: забирать данные из sql (1,2,3,4) и в зависимости от цифры переходить на кадр [пот таймеру].


Последний раз редактировалось aivashchenko; 29.04.2013 в 10:43.
Старый 25.04.2013, 22:50
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Поправьте код, пока админы не увидели.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 26.04.2013, 00:07
Sync вне форума Посмотреть профиль Отправить личное сообщение для Sync Найти все сообщения от Sync
  № 3  
Ответить с цитированием
Sync
 
Аватар для Sync

Регистрация: Feb 2013
Сообщений: 176
Код AS3:
gotoAndStop (pole.text);
кто го-то-и-стоп делает? root?
и зачем он берет данные из текстового поля? одну переменную сэкономили.
И с таким названием как у функции никто бы не работал.

Старый 29.04.2013, 10:54
aivashchenko вне форума Посмотреть профиль Отправить личное сообщение для aivashchenko Найти все сообщения от aivashchenko
  № 4  
Ответить с цитированием
aivashchenko

Регистрация: Nov 2012
Сообщений: 31
Название функции исправил)
Если брать данные из переменой проблема та же. (использованием textfild-a думал убрать глюк)
Цитата:
кто го-то-и-стоп делает? root?
Простите, а что же надо писать если мне нужен переход на указанный кадр?

Старый 29.04.2013, 12:18
Sync вне форума Посмотреть профиль Отправить личное сообщение для Sync Найти все сообщения от Sync
  № 5  
Ответить с цитированием
Sync
 
Аватар для Sync

Регистрация: Feb 2013
Сообщений: 176
оформление кода - супер. но я вот не увидел ни одного return и ни одного окончания функции. зачем так? зачем вы создаете каждый раз новый таймер по получению данных? почему не отписываете старые? зачем куча функций в функциях? На 3-м получении данных у вас itemIndex будет ваще работать как генератор случайных чисел. Напишите код нормально и ошибка пропадет. Помните, что если вы подписались на таймер, а потом не отписались от него и не остановили\уничтожили его - он будет продолжать работать.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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