| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > Flash特别应用 > 文章正文 用户登录
如何加入透明Flas
为新浪博客添加fl
flashget下载联盟
265联盟:“Flash
新易网络提供100M
龙太极/100m/asp/
无限网络提供50M 
霞光科技50M/Htm/
苏能科技100M/FTP
悠博科技50M/FTP/

flashcom聊天对话怎样实现踢人动作           

flashcom聊天对话怎样实现踢人动作

作者:佚名 来源:闪吧 作者: tansenen 更新:2007-1-13 21:00:32 错误报告 我要投稿

    建立会议的时候有两种模式, 发言模式 和 论坛模式
   发言模式是指,只有一个人可以发言,由主持人控制。其他人可以向主持人申请发言。
   论坛模式是指,所有人都可以自由发言,但主持人可以控制,禁止发言。
   主持人可以把非会议参加人请出会议室。
   一般用户可以除了主持人屏蔽任何用户的发言(声音和文字),屏蔽视频图像

实现:
判断会议模式
为发言模式时,

shareobjects.send("stopPhone",null); //在所有客户端执行stopPhone,禁用所有用户的Mic。

为论坛模式

shareobjects.send("activePhone",null); //在所有客户端执行stopPhone,启用用所有用户的Mic。

   当主持人在参加会议人员的列表上,选中用户时,右键弹出操作菜单,请出会议室 | 给麦克风(会议模式)/(禁止发言,论坛模式)
请出会议室:

function kickout()
{
nc.call("SendAction",null,"/kick "+selectusername); //调用服务端函数SendAction
}

   给麦克风:

function GivePhone (){ 
   //选出 //GivePhone的对象和当前用户一致,则给麦克风否则不给 
   //选中的用户等于当前用户
if(_root.peoplelist_mc.people_lb.selectedItem.data.userName==user.userName)
{
_root.users_so.send("activePhone",null,user.userName);
}
else
{
_root.users_so.send("stopPhone",null,user.userName);
}
}
this.users_so.stopPhone=function(username)
{
trace("管理员把话筒移交给"+username);
}
this.users_so.activePhone=function(username)
{
trace("管理员把话筒移交给你");
}

   服务端函数SendAction

FCPeopleList.prototype.SendAction = function(client,mesg) {
var cglobal = this.getClientGlobalStorage(client);
//语法格式 SendAction("/kick username")
if (mesg.substr(0,5) == "/kick") {
trace("kick called!");
var usernameToKick = mesg.substr(mesg.indexOf(" ")+1); 
for (var i=0; i<application.clients.length; i++) {
if (application.clients.user.userName == usernameToKick) {
trace("disconnecting "+application.clients.user);
//在屏幕上显示某人被请出会议室,原因是...
var clocal = this.getClientGlobalStorage(application.clients);
application.disconnect(application.clients);
this.users_so.setProperty(clocal.id, null);
this.releaseLocalStorage(application.clients);
//把此用户从系列相关的东西中干掉
break;
}
}
return;
}
/*

   //在管理员的SWF那边搞个

TiRen = function(USERNAME){
CONN = new NetConnection();
CONN.Call("TR",null,USERNAME);
}

   //服务器端main.asc在

application.OnConnect = function(newclient){
newclient.TR = function(USERNAME){
application.disconnect( SELECTClient(USERNAME) );
}

   //根据USERNAME找到client对象
SELECTClient(USERNAME){
return Client对象;

   //============ 
   //这样的话,你只要在客户端想踢谁就踢谁了。

   只要调用一下TiRen(被提的人的USERNAME)

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。