|
|
|||||
Регистрация: Nov 2011
Сообщений: 2
|
AS3 класс для работы с PHP
Пытаюсь написать свой собственный класс AS3 для общения с PHP.
Не получается. Реально ли такое? Вот мой не очень рабочий вариант: main.as package { import flash.display.DisplayObject; import flash.display.MovieClip; import flash.display.SimpleButton; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.filters.BitmapFilterType; import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLRequestMethod; import flash.text.TextField; import flash.ui.Mouse; public class Main extends Sprite { private var button: Sprite = new Sprite(); private var txt: TextField = new TextField(); private var bText: TextField = new TextField(); public function Main(): void { bText.text = "Button"; bText.x = 110; bText.y = 50; bText.width = 50; bText.height = 20; bText.selectable = false; bText.mouseEnabled = false; button.graphics.beginFill(0x0080FF, 0.5); button.graphics.drawRoundRect(50, 50, 150, 20, 15, 15); button.graphics.endFill(); button.contains(bText); button.addChild(bText); button.buttonMode = true; txt.x = 70; txt.y = 100; txt.text = "Text"; txt.height = 150; txt.width = 200; addChild(button); addChild(txt); button.addEventListener(MouseEvent.CLICK, on_cl); } private function onik(): void { var x: Loader = new Loader(); x.onLoad = function() { trace(x.getV); txt.text = x.getV; } trace("getTr = " + x.getV); } private function on_cl(e: MouseEvent): void { onik(); } } } package { import flash.display.MovieClip; import flash.display.SimpleButton; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLRequestMethod; import flash.text.TextField; public class Loader { public var loader: URLLoader = new URLLoader(); public var onLoad: Function; public function Loader(): void { load(); loader.addEventListener(Event.COMPLETE, loader_onLoad); } private function load(): void { var req: URLRequest = new URLRequest("http://lenta/00.php"); // Вы можете заменить на свой сайт req.method = URLRequestMethod.POST; req.data = 'yea=Да&noa=Нет'; // Передача переменных с помощью POST-запроса. Вы можете изменить переменные соответствуя своему php-файлу this.loader.load(req); } private function loader_onLoad(e: Event): void { trace("trace = " + loader.data); onLoad() } public function get getV(): String { return "getV = " + this.loader.data; } } } А у меня получается только трейсить. Заранее спасибо =) Последний раз редактировалось pirivet; 29.11.2011 в 05:50. |
|
|||||
private function load(): void { var req: URLRequest = new URLRequest("http://lenta/00.php"); // Вы можете заменить на свой сайт req.method = URLRequestMethod.POST; req.data = 'yea=Да&noa=Нет'; // Передача переменных с помощью POST-запроса. Вы можете изменить переменные соответствуя своему php-файлу this.loader.load(req); } Гораздо разумнее было бы использовать класс URLVariables. Например, вот так: <...> var variables:URLVariables = new URLVariables(); variables.yea = 'Да'; variables.noa = 'Нет'; <...> request.method = URLRequestMethod.POST; request.data = variables; this.loader.load(request) private function loader_onLoad(e:Event): void { var response:Object = JSON.parse(loader.data); } И ещё. Это важно. ПОЖАЛУЙСТА, слушайте событие URLLoader'а IOErrorEvent.IO_ERROR. Я уже заколе^W^W^W. Очень грустно подвешивать дебажный плеер из-за этой ошибки каждый раз, гуляя по интернету.
__________________
Дебаггер не предлагать |
|
|||||
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
__________________
Я просто добрый шутник. |
|
|||||
Регистрация: Nov 2011
Сообщений: 2
|
Цитата:
Я сам изучаю - это не курсак и не диплом Маюсь неделями, а никак не получается. Последний раз редактировалось pirivet; 10.12.2011 в 00:35. |
Часовой пояс GMT +4, время: 00:22. |
|
« Предыдущая тема | Следующая тема » |
|
|