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

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

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

Регистрация: Feb 2014
Сообщений: 25
По умолчанию как создать уровни.

У меня есть скрипт, который выводит с БД уровень пользователя.
PHP код:
    <?php
    
// данные доступа к базе данных
    
$db_host="";       // обычно не нужно изменять
    
$db_user="";        // имя пользователя БД
    
$db_password="";        // пароль БД
    
$db_name "";      // имя БД
     
    // данные приложения
    
$app_id ''// id приложения
    
$api_secret ''// защищенный ключ приложения
     
     
    
$auth_key  $_POST['auth_key'];
    
$viewer_id $_POST['viewer_id'];
    
$id $viewer_id;
     
    
$real_key md5($app_id."_".$viewer_id."_".$api_secret);
    if (
$auth_key == $real_key){
        
// соединение с БД
        
$mysqli = new mysqli($db_host$db_user$db_password$db_name);
     
        if (
mysqli_connect_errno()) {
            
printf("Ошибка соединения: %s\n"mysqli_connect_error());
            exit;
        }
        
$mysqli->set_charset("utf8");
        if (
$stmt $mysqli->prepare("SELECT `lvl` FROM `stat` WHERE `uid` = ?")) {
        
$stmt->bind_param('i'$id);
        
$stmt->execute();
        
$stmt->bind_result($lvl); 
        while (
$stmt->fetch()) {
        echo 
$lvl;}}
        
        
}
    
?>
После чего, я хочу воспользоваться этой цифрой и в клиенте определить какой уровень загружать, но, что-то пошло не так. Кто подскажет в чем ошибка. Ниже код АS3

Код AS3:
points:Number = new Number();	
			var stat_request:URLRequest=new URLRequest("*********.php" + '?' + Math.random());
			stat_request.method = URLRequestMethod.POST;
			var stat_vars:URLVariables = new URLVariables();
			stat_vars['auth_key'] = LoaderInfo(root.loaderInfo).parameters.auth_key;// auth_key из FlashVars
			stat_vars['viewer_id'] = LoaderInfo(root.loaderInfo).parameters.viewer_id;// ID просматривающего приложение
			stat_request.data = stat_vars;
			stat_loader.load(stat_request);
			stat_loader.addEventListener(Event.COMPLETE, onComplete); 
			points = stat_loader.data;
			game();
 
public function game () :void {
			if (points == 0){
			var lvl1:lvl1Class = new lvl1Class();
			addChild(lvl1);
			lvl1.starLvl1(); }
			if(points == 1){
			var lvl2:lvl2Class = new lvl2Class();
			addChild(lvl2); }}

Старый 01.07.2014, 02:01
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 2  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Сильно код не читал, но я вижу что у вас идет определение уровня в методе game. Но он вызывается сразу же после запроса из флешки к ПХП.
Получается что данные еще не пришли от сервера, а вы уже их обрабатываете (запрос к серверу имеет асинхронную природу, то есть флешка не будет ждать ответа от сервера, а будет дальше выполнять код).
Проверку на уровни вам нужно выполнять в обработчике onComplete. Где код вашего обработчика?

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

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

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


 


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


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