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

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

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

Регистрация: Feb 2010
Сообщений: 14
По умолчанию Как получить доступ к flashvars из класса.

Есть 2 квласса

Код AS3:
package{
	import flash.display.Sprite;
	import flash.external.ExternalInterface;
	import flash.display.LoaderInfo;
 
	public class WebSocketClient extends Sprite
	{
		public var _xmlSocketManager:XMLSocketManager;
 
		public function fff(m:String):void
		{
 
		}
 
		public function WebSocketClient()
		{
			// constructor code
			//ExternalInterface.call("cm.exe", event.data);
			if (ExternalInterface.available && this.loaderInfo.parameters["debug"])
			{
				ExternalInterface.call("console.log",'[clive] flash create!');
			}
			_xmlSocketManager = new XMLSocketManager();
			_xmlSocketManager.connectToServer();
		}
 
	}
 
}

и

Код AS3:
package  {
 
  import flash.events.*;
  import flash.net.XMLSocket;
  import flash.system.Security;
  import flash.external.ExternalInterface;
  import flash.display.LoaderInfo;
 
  /*
   * Класс, работающий с сокетами
   */
 
  public class XMLSocketManager {
 
    private var hostName:String = "domen.ru";
    private var port:uint = 11111111;
    private var authPort:uint = 11111111;
    private var socket:XMLSocket;
 
    public function logm(m):void
    {
 
      // как отсюда получить доступ к flashvar
      // пробовал так this.loaderInfo.parameters["debug"] не получается ошибка
      if (ExternalInterface.available)
      {
        ExternalInterface.call("console.log",'[clive] ' + m.toString());
      }
    }
  }
 
}
во втором листинге к коменте написано как и пытался получить доступ к флеш переменным но так и не получилось подскажите пожалуйста.

Старый 10.12.2011, 22:51
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 2  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
свойство loaderInfo есть только у DisplayObject и Loader

Старый 10.12.2011, 22:56
sspy вне форума Посмотреть профиль Отправить личное сообщение для sspy Найти все сообщения от sspy
  № 3  
Ответить с цитированием
sspy

Регистрация: Feb 2010
Сообщений: 14
подключил
Код AS3:
import flash.display.DisplayObject;
и после попробовал вызвать
Код AS3:
public function logm(m):void
		{
			if (ExternalInterface.available && DisplayObject.LoaderInfo.parameters["debug"])
			{
				ExternalInterface.call("console.log",'[clive] ' + m.toString());
			}
		}
всё равно не получается(

Добавлено через 1 минуту
Код AS3:
public function logm(m):void
		{
			var d:DisplayObject;
			d = new DisplayObject();
 
			if (ExternalInterface.available && d.LoaderInfo.parameters["debug"])
			{
				ExternalInterface.call("console.log",'[clive] ' + m.toString());
			}
		}

попробовал так и всё равно нет, ошибка при последнем была такая: ....\XMLSocketManager.as, строка 26 1119: Обращение возможного неопределенного свойства LoaderInfo через ссылку со статическим типом flash.displayisplayObject .


Последний раз редактировалось sspy; 10.12.2011 в 22:59.
Старый 10.12.2011, 23:07
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 4  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
имелся в виду, конечно, не непосредственно экземпляр DisplayObject, экземпляры этого класса никогда не создаются, имеется в виду экранный объект наследующий DisplayObject, причем он должен быть добавлен на сцену основного swf-файла.

Старый 10.12.2011, 23:11
sspy вне форума Посмотреть профиль Отправить личное сообщение для sspy Найти все сообщения от sspy
  № 5  
Ответить с цитированием
sspy

Регистрация: Feb 2010
Сообщений: 14
а если по русски?) как получить доступ то?)

Старый 10.12.2011, 23:14
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 6  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
вот хелп

например вы можете извлечь варсы из stage приложения

Добавлено через 1 минуту
В классе в котором у вас есть доступ к stage (напр. Main() )

Код AS3:
		private function excludeParams():Array
		{
			var params:Array = this.stage.loaderInfo.parameters;
 
			return params;
		}
Добавлено через 4 минуты
Конечно это будет работать только если флешка на странице, например, то есть просто в проигрывателе, когда нет контейнера и варсов никаких нет.

Старый 10.12.2011, 23:18
sspy вне форума Посмотреть профиль Отправить личное сообщение для sspy Найти все сообщения от sspy
  № 7  
Ответить с цитированием
sspy

Регистрация: Feb 2010
Сообщений: 14
Код AS3:
stage.DisplayObject.LoaderInfo.parameters["debug"];
так?) тоже не работает( пошел читать хелпы но учивая что я полный нуб во влеше вретли пойму, но вдруг)

Старый 10.12.2011, 23:19
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 8  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
нет не так ) смотрите код выше

Старый 10.12.2011, 23:20
sspy вне форума Посмотреть профиль Отправить личное сообщение для sspy Найти все сообщения от sspy
  № 9  
Ответить с цитированием
sspy

Регистрация: Feb 2010
Сообщений: 14
Код AS3:
private function excludeParams():Array
		{
			var params:Array = this.stage.loaderInfo.parameters;
 
			return params;
		}
не работает ошибка ...\XMLSocketManager.as, строка 24 1119: Обращение возможного неопределенного свойства stage через ссылку со статическим типом XMLSocketManager .

Старый 10.12.2011, 23:21
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 10  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
правильно, потому что ваш класс не на сцене, он не экранный объект. Как называется гл.класс вашего приложения?

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

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

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


 


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


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