Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Возврат от php (http://www.flasher.ru/forum/showthread.php?t=210445)

Golovorot 16.03.2015 17:45

Возврат от php
 
Всем добрый день!
php возвращает переменную, но во флеше она видится, как
Код AS3:

re q = t r ue

а должна быть без пробелов.
Что это может быть?
От php отправляются нормальные данные

faraday 16.03.2015 18:52

что это за формат? urlString?

Golovorot 16.03.2015 18:56

Код AS3:

package  
{
        import flash.events.Event;
        import flash.events.EventDispatcher;
        import flash.net.URLVariables;
        import windows.BattleInfoWindow;
        import windows.NewUserWindow;
 
 
        public class FirstStart extends EventDispatcher
        {
                public static var COMPLETE:String = "completed";
                private const SIZE_OF_SMALLINT:int = 65535;
                private var newUser:NewUserWindow;               
                public function FirstStart()
                {
                        firstStartAction();
                }
                private function firstStartAction ():void {
                        Main.wait.visible = true;
                        var uv:URLVariables = new URLVariables();
 
                        uv["id"]                = Main.id;
                        uv["viewer_id"] = Main.viewer_id;
                        uv["hash"]                = Main.auth_key;
                        uv["action"]        = 4;
                        var req:REQ                = new REQ(uv);
                        req.addEventListener(REQ.COMPLETE, firstRequestHandler);
                }
 
                private function firstRequestHandler(e:Event):void
                {
                        Main.wait.visible = false;
 
                        e.currentTarget.removeEventListener(REQ.COMPLETE, firstRequestHandler);                       
 
                        var uv:URLVariables = new URLVariables(e.currentTarget.data);
                        if (uv.req != undefined) {               
                                if (uv.req == "true") {
                                        try {               
                                                if (MD5.encrypt("_" + uv.palace) != uv.hash)        Main.setMessage(Main.write("errors", "unknown_error"));
                                                Main.id                                = uv.id;
                                                Main.auth_key                        = uv.auth_key;
                                                Main.villageName                = uv.name;
                                                Main.allianceShortName        = uv.all_sh;
                                                Main.palaceLv                        = uv.palace;
                                                Main.farmLv                        = uv.farm;
                                                Main.towerLv                        = uv.tower;
                                                Main.secretLv                        = uv.secret;
                                                Main.gold                                = int(uv.gold) +  int(uv.dgold) / SIZE_OF_SMALLINT;
                                                Main.millet                        = int(uv.millet) + int(uv.dmillet) / SIZE_OF_SMALLINT;
                                                Main.diamond                        = uv.diamond;
                                                Main.ruby                                = uv.ruby;
                                                Main.ruby_cost                        = uv.ruby_cost;
                                                Main.ruby_course                = Math.floor(Main.ruby_cost * (1 + Number(uv.ruby_course)));                                               
                                                Main.sh_num                        = uv.sh_num;
                                                Main.sh_atk                        = uv.sh_atk;
                                                Main.sh_hp                                = uv.sh_hp;
                                                Main.sh_acc                        = uv.sh_acc;
                                                Main.sp_num                        = uv.sp_num;
                                                Main.sp_atk                        = uv.sp_atk;
                                                Main.sp_hp                                = uv.sp_hp;
                                                Main.sp_acc                        = uv.sp_acc;
                                                Main.bw_num                        = uv.bw_num;
                                                Main.bw_atk                        = uv.bw_atk;
                                                Main.bw_hp                                = uv.bw_hp;
                                                Main.bw_acc                        = uv.bw_acc;
                                                Main.auras                                = uv.auras;
                                                Main.attacker                        = uv.attacker;
                                                Main.attackerName                = uv.attacker_name;
                                                Main.currentTask                = uv.task;
                                                Main.relaxTime                        = uv.relax_time;

вот кусок кода.
Это uv.req

Добавлено через 1 минуту
URLVariables

faraday 16.03.2015 19:04

в классе REQ какой тип данных указан? text? Поблема скорее всего в нем. И вообще не понятно зачем если метод запросов инкапсулирован, создавать urlVariable вне его.
правильная сигнатура будет Requester.new(param:Object,callBack:Function=null); Метод рекомендую вынести в статичный.

Golovorot 16.03.2015 19:05

Код AS3:

package  {
        import flash.net.URLVariables;
        import flash.net.URLRequest;
        import flash.net.URLLoader;
        import flash.net.URLRequestMethod;
        import flash.events.*
 
        public class REQ extends EventDispatcher{
                public static var COMPLETE:String = "complete";
                private var ur:URLRequest;
                private var ul:URLLoader;
                public var data:*;
 
                public function REQ(uv:URLVariables,method:String = "POST") {
                        ur = new URLRequest(Main.url);
                        uv.random=Math.round(Math.random()*1000000);
                        ur.data = uv;
                        if (method=="POST"){
                                ur.method = URLRequestMethod.POST;
                        }else if (method=="GET"){
                                ur.method = URLRequestMethod.GET;
                        }
                        ul = new URLLoader(ur);
                        ul.addEventListener(Event.COMPLETE,completeHandler);                       
                }
                private function completeHandler (e:Event):void {
                        e.currentTarget.removeEventListener(Event.COMPLETE,completeHandler);
                        this.data =  e.currentTarget.data;
                        trace("request = " + this.data);
                        dispatch();
                }
                private function dispatch():void {
                        dispatchEvent(new Event(REQ.COMPLETE));
                }
 
        }
 
}

Класс req

faraday 16.03.2015 19:05

Да и для модели игры лучше создать отдельнный синглтон Model, а не кидать все в Main

Добавлено через 2 минуты
php скрипт что в header пишет? точно в нем все правильно?

Golovorot 16.03.2015 19:12

да, с пхп все хорошо

caseyryan 16.03.2015 22:05

Код AS3:

ul.dataType = URLLoaderDataType.VARIABLES;



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

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