⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 personaction.as

📁 1.配置java环境
💻 AS
字号:
/** * @(#)PersonAction.as *  * @author soda E-mail:junaisy@163.com * @version 1.0 * <br>Program Name: NetGame for Blue * <br>Date: 2007-4-23 */import org.blue.net.ConnectJavaServer;import mx.soda.util.Map;import org.game.context.Session;import mx.soda.util.HashMap;import org.game.context.UserEsate;import org.game.context.CurrentMovie;/** * 响应服务端的呼叫 */class org.game.response.PersonAction {	private var userMC:MovieClip;	private var userSet:Map;	private var gameMainMC:MovieClip;	private var connect:ConnectJavaServer;	private var session:Session;	private var currentMovie:CurrentMovie;		/**	 * 构造函数	 * @param gameMainMC:游戏主界面的mc	 */	public function PersonAction(gameMainMC:MovieClip)	{		session = Session.getSession();		userSet = session.getUserSet();		this.gameMainMC = gameMainMC;		debug("userSet:" + userSet);		debug("gameMainMC:" + gameMainMC);		connect = ConnectJavaServer.getConnectJavaServer();		currentMovie = CurrentMovie.getUserEsate();			}		/**	 * 当有新用户登陆时,呼叫该方法更新一个新用户	 * @param userName:新登陆用户的用户名	 * @param sculpt:新登陆用户的角色名	 */	public function userLogin(userName:String,sculpt:String):Void	{		//debug("有新玩家登陆了!!!");		//载入玩家,排除自己		if(userName != session.getName())		{			createUser(userName,sculpt,300,428);			debug("session.getUserMC():" + session.getUserMC());			//同时呼叫服务器,把自己的信息传送给刚登陆的用户			connect.call("PersonAction","userCome",null,userName,session.getName()						,session.getSculpt(),session.getUserMC()._x, session.getUserMC()._y);			updateList(userName);		}	}		/**	 * 接受已经登陆的用户信息和位置	 */	public function userCome(userName:String,sculpt:String,x:Number,y:Number):Void	{		if(userName != session.getName())		{			createUser(userName,sculpt,x,y);		}		updateList(userName);	}	/**	 * 相同场景用户发生的动作	 */	public function userAction(name:String,action:String):Void	{		var mc = userSet.get(name);		debug("name" + name);		debug("mc" + mc);		mc[action]();	}	/**	 * 用户退出	 * @param name:退出的用户名	 */	public function userExit(name:String):Void	{		userSet.get(name).removeMovieClip();		delete userSet.get(name).removeMovieClip();		userSet.remove(name);		if(currentMovie.getChat() != undefined)		{			currentMovie.getChat().exitUser(name);		}	}	/**	 * 接受服务器传过来的好友谈话内容	 */	public function friendSpeak(friendName:String,msg:String):Void	{		var userEsate:UserEsate = UserEsate.getUserEsate();		trace("==========userEsate.getOpenFriend()=============" + userEsate.getOpenFriend());		if(userEsate.getOpenFriend())		{			//获取当前聊天窗口			var currentMovie:CurrentMovie = CurrentMovie.getUserEsate();			var mc:MovieClip = currentMovie.getFriendChat();			mc.setShowContent(msg);		}		else		{			//存放起来			session.addTalkContent(friendName,msg);			//提示有信息			trace("==========gameMainMC==========" + gameMainMC);			trace("==========gameMainMC.comeMailMC==========" + gameMainMC.comeMailMC);			gameMainMC.comeMailMC._visible = true;			gameMainMC.comeMailMC.play();			gameMainMC.comeMailMC.friendInfo.text = "您的好友 " + friendName + " 有信息发过来,请注意查收!!";		}	}	/**	 * 接受同个场景其他用户说话的内容	 */	public function userSpeak(userName:String,msg:String):Void	{		var mc = userSet.get(userName);		mc.speak(msg);	}		/**	 * 更新用户信息	 */ 	public function updateInfo(msg:String):Void	{		trace("更新用户信息了");		currentMovie.getChat().updateInfo(msg);	}		/**	 * 更新用户列表	 */	public function updateList(userName:String):Void	{		currentMovie.getChat().updateList(userName);	}		/**	 * 创建一个新玩家	 */	private function createUser(userName:String,sculpt:String,x:Number,y:Number)	{		var temp = userSet.get(userName);		//如果已经存在,就删除		if( temp!= undefined)		{			temp.removeMovieClip();		}		var mc:MovieClip = gameMainMC.attachMovie(sculpt,"userMC" +							 gameMainMC.USER_DEPTH,gameMainMC.USER_DEPTH++);		mc._x = x;		mc._y = y;		mc.setName(userName);		//存放起来		userSet.put(userName,mc);	}	//调试信息	public function debug(msg:String):Void	{		trace("debug PersonAction -> " + msg);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -