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

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

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

Регистрация: Apr 2006
Сообщений: 26
Question Про loadVariablesNum и LoadVars

Сделал игру (при старте 3 кнопки: 1-играть, 2-правила, 3-рекорды (в данной кнопке прописано - loadVariablesNum("score.php", 0, "POST");. При окончании игры опять те же кнопки, но на другом кадре).
Проблема как раз с рекордами. Имеется score.php, который при определенных условиях: 1- выдает результаты из txt в соответствующие текстовые поля флешки, 2- записывает новые результаты, если они превосходят старые в тот же txt-файл.

Результат:
Выдает нормально, записывает тоже, но потом когда хочу вновь просмотреть результаты – то он опять записывает и записывает, хотя дана команда - не записывать больше. Чувствую, что loadVariablesNum –не успевает выполнять нужное действие.

Пол дня в поиске «висел» и понял, что лучше использовать LoadVars. Но с этим впервые сталкиваюсь и не знаю, как правильно написать. Во всех примерах показано, мол, нужно в теле функции писать нужные операции/команды. Как быть, если score.php сам все делает.

В чем проблема при loadVariablesNum("score.php", 0, "POST") –действительно не успевает?

Напишите, пожалуйста, как правильно написать вызов рнр при LoadVars.

Спасибо.

Старый 02.03.2007, 23:25
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 2  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
Нужен пример, иллюстрирующий вашу проблему.

Старый 02.03.2007, 23:42
ВиталийS вне форума Посмотреть профиль Отправить личное сообщение для ВиталийS Найти все сообщения от ВиталийS
  № 3  
Ответить с цитированием
ВиталийS

Регистрация: Apr 2006
Сообщений: 26
Что именно? РНР?
Ниже привожу РНР (кстати, взят из раздела исходники в этом сайте.
http://flasher.ru/src/single/{src.pg=1820}
Немного переделал):
<?
$NameNew = $NameNew;

$NameNew = stripslashes($NameNew);
########### Считывание и запись из/в текстовый файл.
if ($Submit == "Yes") {
#Указание текстового файла, в котором будут хранится сообщения.
$filename = "score.txt";

#Открывает файл для чтения.
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );

#SРасщепление старых данных в массив,как только встречается такая фишка .:::.
$DataArray = split (".:::.", $OldData);
array_push ($DataArray,"$NameNew");
rsort ($DataArray, SORT_NUMERIC);

$Input = "$DataArray[0].:::.$DataArray[1].:::.$DataArray[2].:::.$DataArray[3].:::.$DataArray[4].:::.$DataArray[5].:::.$DataArray[6].:::.$DataArray[7].:::.$DataArray[8].:::.$DataArray[9].:::.";

$New = "$Input";

#Открывает файл для записи.

$fp = fopen( $filename,"w+");
fwrite($fp, $New, 80000);
fclose( $fp );
}
########## Выведение данных в swf ##
#Указывает, какой файл использовать для хранения сообщений.
$filename = "score.txt";

#Открывает файл для чтения.

$fp = fopen( $filename,"r");
$Data = fread($fp, 80000);
fclose( $fp );

#SРасщепление старых данных в массив,как только встречается такая фишка .:::.
$DataArray = split (".:::.", $Data);

rsort ($DataArray, SORT_NUMERIC);
for ($i=0; $i<10; $i++){
print "&s$i=$DataArray[$i]";
}
############### Конец.
?>

Во флеше под каждую кнопку "Рекорды" для вывода рез-тов - пишу Submit="No";
loadVariablesNum("score.php", 0, "POST");

для записи новых рез-ов определенная кнопка -
Submit="Yes";
loadVariablesNum("score.php", 0, "POST");


P.S. и конечно соответсвующие поля для вывода результатов.

Старый 02.03.2007, 23:45
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
ВиталийS, для оформления кода существуюи специальные форумные теги. Оформите свой пост, как полагается.

Старый 03.03.2007, 00:17
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 5  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
ВиталийS
Нет, я в PHP не разбираюсь. Думаю, что проблема в том, что вы не отслеживаете событие загрузки. Для loadVariablesNum нужно писать спец функцию, которая будет следить за загрузкой. А у LoadVars есть встроенный метод onLoad.

Старый 03.03.2007, 00:18
ВиталийS вне форума Посмотреть профиль Отправить личное сообщение для ВиталийS Найти все сообщения от ВиталийS
  № 6  
Ответить с цитированием
ВиталийS

Регистрация: Apr 2006
Сообщений: 26
Виноват

Что именно? РНР?
Ниже привожу РНР (кстати, взят из раздела исходники в этом сайте.
http://flasher.ru/src/single/{src.pg=1820}
Немного переделал):
PHP код:
<?
$NameNew 
$NameNew

$NameNew stripslashes($NameNew);
########### Считывание и запись из/в текстовый файл. 
if ($Submit == "Yes") {
#Указание текстового файла, в котором будут хранится сообщения.
$filename "score.txt";

#Открывает файл для чтения.
$fp fopen$filename,"r"); 
$OldData fread($fp80000); 
fclose$fp );

#SРасщепление старых данных в массив,как только встречается такая фишка .:::.
$DataArray split (".:::."$OldData);
array_push ($DataArray,"$NameNew");
rsort ($DataArraySORT_NUMERIC);

$Input "$DataArray[0].:::.$DataArray[1].:::.$DataArray[2].:::.$DataArray[3].:::.$DataArray[4].:::.$DataArray[5].:::.$DataArray[6].:::.$DataArray[7].:::.$DataArray[8].:::.$DataArray[9].:::.";

$New "$Input";

#Открывает файл для записи.

$fp fopen$filename,"w+"); 
fwrite($fp$New80000); 
fclose$fp ); 
}
########## Выведение данных в swf ##
#Указывает, какой файл использовать для хранения сообщений.
$filename "score.txt";

#Открывает файл для чтения.

$fp fopen$filename,"r"); 
$Data fread($fp80000); 
fclose$fp );

#SРасщепление старых данных в массив,как только встречается такая фишка .:::.
$DataArray split (".:::."$Data);

rsort ($DataArraySORT_NUMERIC);
for (
$i=0$i<10$i++){
print 
"&s$i=$DataArray[$i]";
}
############### Конец.
?>
Во флеше под каждую кнопку "Рекорды" для вывода рез-тов - пишу
Код:
Submit="No";
loadVariablesNum("score.php", 0, "POST");
для записи новых рез-ов определенная кнопка -
Код:
Submit="Yes";
loadVariablesNum("score.php", 0, "POST");
P.S. и конечно соответсвующие поля для вывода результатов.

Старый 03.03.2007, 00:20
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 7  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
Свои посты можно редактировать.

Старый 03.03.2007, 00:22
ВиталийS вне форума Посмотреть профиль Отправить личное сообщение для ВиталийS Найти все сообщения от ВиталийS
  № 8  
Ответить с цитированием
ВиталийS

Регистрация: Apr 2006
Сообщений: 26
Цитата:
Сообщение от this.create
Свои посты можно редактировать.
В смысле?

Старый 03.03.2007, 00:21
ВиталийS вне форума Посмотреть профиль Отправить личное сообщение для ВиталийS Найти все сообщения от ВиталийS
  № 9  
Ответить с цитированием
ВиталийS

Регистрация: Apr 2006
Сообщений: 26
this.create

Спасибо, думаю, что и это тоже влияет на результат.
А как правильней написать LoadVars вызов рнр-файла?

Старый 03.03.2007, 00:28
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 10  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
Цитата:
Сообщение от ВиталийS
this.create

Спасибо, думаю, что и это тоже влияет на результат.
А как правильней написать LoadVars вызов рнр-файла?
У LoadVars есть метод sendAndLoad. Посмотрте в help его описание.

Про редактирование: отредактируйте ваш второй пост и удалите дублирующий.

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

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

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


 


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


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