chat.swf
<?xml version="1.0" encoding="utf-8"?>
<mx:Application creationComplete="time()" layout="absolute" width="1024" height="250" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script><![CDATA[
import flash.events.TimerEvent;
import flash.net.URLRequest;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import mx.events.ScrollEvent;
import flash.utils.Timer;
private var id_script:uint;
private var i:int;
private var mesg:String;
private var on:String;
/* Функция автообновления пользователей онлайн */
private function time():void {
onLine();
msg();
var timers:Timer = new Timer(10000);
timers.addEventListener(TimerEvent.TIMER, onTimer);
timers.start();
}
private function onTimer(e:TimerEvent):void {
onLine();
}
/* Функция обновления чата */
private function update():void {
msg();
}
/* Передача сообщения в скрипт */
public function createMess():void {
id_script = 1;
createMessage.send();
mess_send.text = "";
}
/* Вывод сообщений на экран */
public function msg():void {
id_script = 2;
up.send();
}
/* Сколько пользователей онлайн */
public function onLine():void {
id_script = 3;
online.send();
}
/* Прокрутка текста */
private function scrollBody():void {
// сдвигаем скролл в конец окна
vuvod.verticalScrollPosition = vuvod.maxVerticalScrollPosition + 2;
}
public function onResult(e:ResultEvent):void { //обработка результатов и ошибок
switch (id_script) {
case 1:
if (int(e.result) > 0) {
} else {
switch (int(e.result)) {
case -1:
Alert.show("Неудалось подключиться к базе данных. Попробуйте позже", "Ошибка");
break;
case -2:
Alert.show("Вы ничего не ввели", "Ошибка");
break;
}
}
break;
case 2:
mesg = String(e.result);
vuvod.htmlText = mesg; //вывод сообщений
break;
case 3:
on = String(e.result);
onlineUsers.text = on; //вывод сколько пользователей онлайн
break;
}
}
]]></mx:Script>
<mx:HTTPService id="createMessage" useProxy="false" method="POST" resultFormat="text" url="send_mess.php" result="onResult(event)">
<mx:request>
<mx:mess_send>{mess_send.text}</mx:mess_send>
</mx:request>
</mx:HTTPService>
<mx:HTTPService id="up" useProxy="false" method="POST" resultFormat="text" url="chat.php" result="onResult(event)"/>
<mx:HTTPService id="online" useProxy="false" method="POST" resultFormat="text" url="online.php" result="onResult(event)"/>
<mx:TextInput id="mess_send" x="27" y="208" width="850" height="22" enter="createMess()"/>
<mx:TextArea id="vuvod" editable="false" x="27" y="29" width="960" height="170" valueCommit="scrollBody()"/>
<mx:Label text="Игроков в игре:" x="28" y="8" width="97" height="18"/>
<mx:Label id="onlineUsers" text="-" x="127" y="8" width="36" height="18"/>
<mx:Button label="Отправить" click="createMess()" x="884" y="208" width="100" height="22"/>
<mx:Button label="Обновить" click="update()" x="839" y="5" width="100" height="22"/>
</mx:Application>