![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 302
|
Здравствуйте, разбираюсь с SharedObject.getRemote и в целом с серверной частью языка, только сначала нужно понять принцип работы SharedObject. Делаю небольшой пример.
В обычное текстовое поле ввожу текст записываю его в SharedObject.data потом это свойство SharedObject присваиваю обычному TextField в пределах одного приложения все работает прекрасно, если запускаю 2 приложения, то каждое работает по отдельности а я хочу писать в поле одного приложения и обновлять в TextField двух запущенных приложений. Тоисть хочу сделать общий SharedObject. точнее общее свойство. Вот кусок кода который все это делает. private var _netCon:NetConnection; private var _soCrGame:SharedObject; private var t:TextInput; private var tf:TextField; public function Main() { this._netCon = new NetConnection(); this._netCon.connect("rtmp://localhost/myApp"); this._netCon.addEventListener(NetStatusEvent.NET_STATUS,doSO); } private function doSO(event:NetStatusEvent):void { t = new TextInput(); addChild(t); t.addEventListener(Event.CHANGE, change); tf = new TextField(); tf.textColor = 0xFFFFFF; tf.x = 100; tf.y = 100; addChild(tf); var good:Boolean = event.info.code == "NetConnection.Connect.Success"; if (good){ _soCrGame = SharedObject.getRemote("_soCrGame", _netCon.uri, false); _soCrGame.connect(_netCon); _soCrGame.addEventListener(SyncEvent.SYNC,doUpdate); } } private function change(event:Event):void { _soCrGame.setProperty ("msg", t.textField.text); trace(_soCrGame.data.msg); } private function doUpdate (se:SyncEvent):void{ _soCrGame.setProperty ("msg", t.textField.text); tf.text = _soCrGame.data.msg; } Только не переносите в другой раздел, в первую очередь здесь AS3, нет ни строчки серверного AS/ |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 51
|
Судя по всему, у вас вполне рабочий код. Только в
setProperty явно лишнее. |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 302
|
Почему лишнее? Без него не запишется в TextField.
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 302
|
Для большей ясности вот, скриншот.
Приложение запущено 2 раза, SharedObjectы создаются, все нормально. Только я хочу, чтоб в TextField отображался текст который набран из двух TextInput-ов. |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 51
|
Потому что
Равнозначно |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 302
|
![]() ![]() Я это понимаю, сейчас свойства полей ввода и вывода, не актуальны, я не прошу помощи в оптимизации кода. Я прошу помощи в разборе полетов с SharedObject-ами. Я намеренно передаю туда текст через SharedObject.Если можете скажите что нить по сути, ведь как видно из скриншотов все не совсем так как я хочу, мне бы понять это и все, . Спасибо. |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 51
|
Ладно, расшифровываю. Об оптимизации я ни слова не говорил, ваш код работает именно так, как он написан.
//Вызываеться при каждом обновлении SharedObject-а любой флешкой. //Допустим soCrGame.data.msg=='aaa' и t.textField.text='bbb'. private function doUpdate (se:SyncEvent):void{ //soCrGame.data.msg=='aaa' _soCrGame.setProperty ("msg", t.textField.text); //soCrGame.data.msg=='bbb' tf.text = _soCrGame.data.msg; //tf.text=='bbb' а должен быть 'aaa'. } |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 302
|
Под оптимизаций я имел введу, то что вы сказали, что 2 строки можно привести в одну, я думал вы не поняли сути вопроса.Я думаю это можно как то отслеживать по кодах которые дают флешки. Или? А они все таки взаимодействуют, но я нахимичил. ![]() Подскажите тогда как поменять код так, чтоб он работал так как я хочу, спасибо. ![]() |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 51
|
Как вариант, если нужна синхронизация обоих текстовых полей:
private function doUpdate (se:SyncEvent):void{ t.textField.text = _soCrGame.data.msg; tf.text = _soCrGame.data.msg; } изменения будут вводиться после первого ченджа t.textField. А вот с первичной записью: Последний раз редактировалось Saulot; 10.02.2011 в 12:53. |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 302
|
Пасибо, - попробую.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:14. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|