Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Присоединение класса (http://www.flasher.ru/forum/showthread.php?t=193583)

dim9044 30.01.2013 02:50

Присоединение класса
 
Есть класс loadDateC Если я в fla пишу его как главный то он работает, есль главный класс CN
Код AS3:

package {
        import flash.display.*;
 
        public class CN extends Sprite {
 
                public function CN() {
 
                        var LD = new loadDateC();
 
                }
        }
}

и выдает ошибку
Код:

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
        at loadDateC()
        at CN()

Как это исправить?

-De- 30.01.2013 02:59

Ну русским же английским написано:
at loadDateC()
Проблема там. Наверняка там обращаетесь к stage, которого нет (он null), пока этот loadDateC не добавят на сцену. Добавляйте его на сцену и слушайте Event.ADDED_TO_STAGE, в обработчике пишите то что было в конструкторе, например.
У главного класса (если флешку с ним не подгружают) stage есть сразу в конструкторе. И это если рекомендуется учитывать.

dim9044 30.01.2013 03:03

Не понял не чего, там у меня проста отправка данных на сервер, выводить нечего не надо

Добавлено через 5 минут
Код AS3:

package {
 
        import vk.APIConnection;
        import vk.events.*;
        import flash.events.*;
        import flash.utils.*;
        import flash.display.*;
        import flash.net.*;
 
        public class loadDateC extends Sprite {
 
                var flashVars:Object = stage.loaderInfo.parameters as Object;
                var api_id:Number;
                var viewer_id:Number;
                var sid:String;
                var secret:String;
 
                var varLoader:URLLoader = new URLLoader();
                var variables:URLVariables = new URLVariables();
                var varSend:URLRequest = new URLRequest("http://...");
 
                var VK:APIConnection = new APIConnection(flashVars);
 
                public function loadDateC() {
 
                        api_id = flashVars['api_id'];
                        viewer_id = flashVars['viewer_id'];
                        sid = flashVars['sid'];
                        secret = flashVars['secret'];
 
                        //Отправка id
                        varSend.method = URLRequestMethod.POST;
                        variables['viewer_id'] = viewer_id.toString();
                        VK.api("getServerTime",{},time,error); // вызов времени
                        varSend.data = variables;
 
                }
 
                public function time(response:int){
                        // отправка времени
                        varSend.method = URLRequestMethod.POST;
                        variables['timeChack'] = response.toString();
                        variables['viewer_id'] = viewer_id.toString();
                        varSend.data = variables;
                        varLoader.load(varSend);
                }
 
 
                public function error(response:Object){
                        }
        }
}


udaaff 30.01.2013 04:56

Цитата:

Сообщение от dim9044 (Сообщение 1118438)
Не понял не чего, там у меня проста отправка данных на сервер, выводить нечего не надо

Цитата:

Сообщение от -De- (Сообщение 1118437)
Ну русским же английским написано:
at loadDateC()
Проблема там. Наверняка там обращаетесь к stage, которого нет (он null), пока этот loadDateC не добавят на сцену. Добавляйте его на сцену и слушайте Event.ADDED_TO_STAGE, в обработчике пишите то что было в конструкторе, например.
У главного класса (если флешку с ним не подгружают) stage есть сразу в конструкторе. И это если рекомендуется учитывать.

Код:

var flashVars:Object = stage.loaderInfo.parameters as Object;

caseyryan 30.01.2013 07:49

Цитата:

var varSend:URLRequest = new URLRequest("http://...");
И что вот это такое? Адрес должен быть http://api.vk.com/api.php или он убран намеренно? Не понятно правда с какой целью

udaaff 30.01.2013 09:11

Адрес из флешварс лучше брать.

dim9044 30.01.2013 12:49

там адрес идет на мой php файл на сервере я его специально убрал

Добавлено через 8 часов 30 минут
Код AS3:

var flashVars:Object = stage.loaderInfo.parameters as Object;

а что с этим делать? его же выводить не надо, я только изучаю AS3 не понимаю как это исправить, подскажите

udaaff 01.02.2013 16:10

Вам уже написали во втором посте, что надо делать.


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

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