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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.02.2012, 19:53
forward вне форума Посмотреть профиль Отправить личное сообщение для forward Посетить домашнюю страницу forward Найти все сообщения от forward
  № 1  
Ответить с цитированием
forward
 
Аватар для forward

Регистрация: Jul 2007
Адрес: Украина Днепропетровск
Сообщений: 312
Записей в блоге: 1
Question Вопрос по FlashVars

Доброго времени суток!

Пишу вот прием flashvars и вывожу в текстовое поле:
Код AS3:
package 
{
  import flash.display.*;
  import flash.events.Event;
  //
  public class Main extends MovieClip 
  {
    public function Main():void 
    { 
	  var flashVars:Object = stage.loaderInfo.parameters;
	  var uid:String = flashVars.user_id ? flashVars.user_id : "mytestvalue";
	  p.pole_uid.text = uid;
    }
  }
}
Ругается пишет : TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at Main()

Если stage поменять на this то не ругается, но не работает в HTML, кстати вставляю вот так :

Код:
<object width="760" height="40" align="middle" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
 <param value="sameDomain" name="allowScriptAccess">
 <param value="chat_panel.swf" name="movie">
 <param value="opaque" name="wmode">
 <param value="high" name="quality">
 <param value="true" name="allowFullScreen">
 <param value="noscale" name="scale">
  <param value="user_id=50478766" name="flashvars">
  <embed width="760" height="40" pluginspage="https://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" allowscriptaccess="sameDomain" quality="high" wmode="opaque" allowfullscreen="true" flashvars="user_id=50478766" src="chat_panel.swf" scale="noscale">
</object>
__________________
Миксер впечатлений...
Самое интересное что я на творил!

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

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Код AS3:
var flashVars:Object = this.loaderInfo.parameters;
Ибо у стейдж нет флешварс. У стейдж есть флешварс и они совпадают с флешварсами главной флешки. Соответственной будет работать не всегда правильно, лучше с this. Получается флешка не получает флешварсы. Воспользуйтесь как нить готовым эмбедером. Например swfobject. И они вроде должны вот так быть переданы:
PHP код:
<param name="" value="" /> 
Но я не уверен. Используйте готовый компонент, а уж если сильно хочется самому, то в нем можно посмотреть как сделано.
__________________
http://www.chessmax.ru


Последний раз редактировалось Inet_PC; 25.02.2012 в 21:03.
Старый 25.02.2012, 20:06
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 3  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Надо подождать, пока stage станет доступным:
Код AS3:
package 
{
  import flash.display.*;
  import flash.events.Event;
  //
  public class Main extends MovieClip 
  {
    public function Main():void 
    { 
	  if(stage){
                  init();
             } else {
                  addEventListener(Event.ADDED_TO_STAGE,this.init);
             }
    }
    public function init(e:Event):void {
             var flashVars:Object = stage.loaderInfo.parameters;
	  var uid:String = flashVars.user_id ? flashVars.user_id : "mytestvalue";
	  p.pole_uid.text = uid;
    }
  }
}

Старый 25.02.2012, 20:06
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 4  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
InetPC,
Цитата:
Если stage поменять на this то не ругается, но не работает в HTML

Старый 26.02.2012, 20:32
forward вне форума Посмотреть профиль Отправить личное сообщение для forward Посетить домашнюю страницу forward Найти все сообщения от forward
  № 5  
Ответить с цитированием
forward
 
Аватар для forward

Регистрация: Jul 2007
Адрес: Украина Днепропетровск
Сообщений: 312
Записей в блоге: 1
Цитата:
Сообщение от MikroAcse Посмотреть сообщение
InetPC,
Да спасибо работает только вот в этом моменте нужно функции init() передать null ...

Код AS1/AS2:
 
 if(stage){
                  init();
             } else {
__________________
Миксер впечатлений...
Самое интересное что я на творил!

Старый 26.02.2012, 20:39
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 6  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
А ну да
Забыл совсем...

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

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

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


 


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


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