2013-06-26 3 views
2

Не удалось добавить файл SharedObject в файл .AS, я пытаюсь добавить имя пользователя в .flv-файл в red 5 как «username_myfile». Я не уверен, что добавляю код, который сохраняет имя в правильной части класса. есть ли способ добавить SharedObject в файл .AS?Каков правильный способ добавления SharedObject в файл .AS?

- добавил:

import flash.net.SharedObject; 

package app 
{ 
    import flash.display.BitmapData; 
    import flash.display.Stage; 
    import flash.external.ExternalInterface; 
    **import flash.net.SharedObject;** 

    public class DataHolder 
    { 
     private static var dataHolder:DataHolder; 


     public var savedstuff:SharedObject = SharedObject.getLocal("myStuff2","/"); 

     if (savedstuff.size > 0) 
     { 
      public var username = savedstuff.data.username; 

     } 

      public var filename:String = (String(username) + "_myfile"); 

     public var rtmpPath:String = "rtmp://numbershere.compute-1.amazonaws.com/oflaDemo/"; 



     public var recorder:Recorder; 
     public var navigation:Navigation; 

     public var cameraFPS:Number = 30; 
     public var cameraWidth:Number = 640; 
     public var cameraHeight:Number = 480; 
     public var cameraQuality:Number = 88;// camera quality 

     public var timelimit:Number = 25;// limit count of seconds 

     public var stage:Stage; 

     public function DataHolder() 
     { 
      if (dataHolder) 
      { 
       throw new Error("Only one DataHolder instance should be instantiated"); 
      } 
     } 

     public static function getInstance():DataHolder 
     { 
      if (dataHolder == null) 
      { 
       dataHolder = new DataHolder(); 
      } 
      return dataHolder; 
     } 
    } 
} 
+0

@RobertHarvey Спасибо! – shelfish

+0

Ваш код выглядит действительно странно. Оператор if непосредственно в определении класса? В чем проблема? Скомпилирует ли он? –

+0

Я добавляю это и теперь получаю меньше ошибок ** import flash.net.SharedObject; ** – shelfish

ответ

1

Удалить условное заявление вашего общего объекта и объявить, как обычно, а именно:

private var savedStuff:SharedObject; 

Затем, в конструкторе:

try { 
    savedStuff = SharedObject.getLocal("savedData"); 
} catch (error) { 
    cookiesActive = false; 
}; 

Затем проверьте cookiesActive == верно для сохранения данных в SharedObject, например:

if (cookiesActive) { 
    savedStuff.data.levelsFinished = 1; 
} 
+0

@ moosefetcher- Извините, я не могу заставить ваш код работать. – shelfish

+0

Вы пытались удалить «**» звезды вокруг импорта SharedObject? Он должен быть импортирован как обычно (как и любой другой необходимый класс). Я также должен был указать, что вам нужно объявить логическую переменную 'cookiesActive', т.е. 'private var cookiesActive: Boolean'. Какие ошибки вы получаете? Как насчет кода не работает? – moosefetcher