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

📄 gameloginchangesexcommand.as.svn-base

📁 Flex3实现的掼蛋游戏
💻 SVN-BASE
字号:
/**
  * Project:用于当游戏设置用户改变性别操作时执行 命令
  * Author : dmh2002 Blog:http://dmh2002.com/
  * QQ:122054933 MSN:shangxinyu2002@msn.com 
  * Date : 2008.04.01 
  */
package com.dmh2002.games.cardgame.cairngorm.command
{
	import com.adobe.cairngorm.commands.ICommand;
	import com.adobe.cairngorm.control.CairngormEvent;
	import com.dmh2002.games.cardgame.cairngorm.control.GameLoginChangeSexEvent;
	import com.dmh2002.games.cardgame.cairngorm.model.CardGameModelLoactor;
	import com.dmh2002.games.cardgame.cairngorm.vo.UserSexVO;
	import com.dmh2002.games.cardgame.classes.UserFaceImageClasses;

	public class GameLoginChangeSexCommand implements ICommand
	{
		[Bindable]
		private var _model:CardGameModelLoactor = CardGameModelLoactor.getInstance();
		
		private var _userFaceImageClasses:UserFaceImageClasses = new UserFaceImageClasses();
		
		public function GameLoginChangeSexCommand()
		{
		}

		public function execute(event:CairngormEvent):void
		{
			var _event:GameLoginChangeSexEvent = GameLoginChangeSexEvent(event);
			//改变全局数据中的gameSetupUserImageArray用以改用户选择区内的头像
			_model.gameLogin_UserFaceTileList_DataProvider = getUserFaceDataProvider (_event.userSex);
			//执行更新显示列表 该方法使用另写有详细教程,请参看http://dmh2002.com/post/59.html
			_model.gameLogin_UserFaceTileList.validateDisplayList();

			if (_event.userFaceClassName !== null )
			{
				
				trace("初始化")
				//初始化的时候从数组中取出相应class的位置,因为class数组的内容可能会有变化,所以不直接保存索引位置
				_model.gameLogin_UserFaceTileList.selectedIndex = getUserFaceSelectedIndex(_event.userFaceClassName,
																	                	_model.gameLogin_UserFaceTileList_DataProvider);
				trace(_model.gameLogin_UserFaceTileList.selectedIndex,_event.userFaceClassName)
				if (_event.userSex == UserSexVO.USER_SEX_MALE)
				{						
					_model.gameLogin_UserFaceTileList_SelectedIndex_MALE = _model.gameLogin_UserFaceTileList.selectedIndex;
				}	
				else
				{
					_model.gameLogin_UserFaceTileList_SelectedIndex_FEMALE = _model.gameLogin_UserFaceTileList.selectedIndex;
				}			
			}
			else
			{
				if (_event.userSex == UserSexVO.USER_SEX_MALE)
				{
					_model.gameLogin_UserFaceTileList.selectedIndex = _model.gameLogin_UserFaceTileList_SelectedIndex_MALE;
					_model.gameLogin_UserFaceTileList_SelectedIndex_FEMALE = uint(_event.userFaceListSelectedIndex);
				}
				else
				{
					_model.gameLogin_UserFaceTileList.selectedIndex = _model.gameLogin_UserFaceTileList_SelectedIndex_FEMALE;
					_model.gameLogin_UserFaceTileList_SelectedIndex_MALE = uint(_event.userFaceListSelectedIndex);
				} 
			}
			
			_model.gameLogin_UserFaceTileList.scrollToIndex(_model.gameLogin_UserFaceTileList.selectedIndex)
						
		}
		//
		
		/**返回用于gameSetupUserImage的数组
		 * @param userSex (派发事件时传递的用户选择性别的字符串)
		 * @return Array   
		 */ 
		private function getUserFaceDataProvider(userSex:String):Array
		{
			var _tmpuserFaceImageClasses:Array;
			
			_tmpuserFaceImageClasses=(userSex == UserSexVO.USER_SEX_MALE)?_userFaceImageClasses.BOY_CLASS_ARRAY:_userFaceImageClasses.GIRL_CLASS_ARRAY
			
			var _userFaceImageArray:Array = new Array(_tmpuserFaceImageClasses.length)
			
			for (var i:uint=0;i<_userFaceImageArray.length;i++)
			{
				var _obj:Object=new Object()
				_obj.icon = _tmpuserFaceImageClasses[i]
				_obj.label = ""//"图标" + i
				_userFaceImageArray[i] = _obj
			}
			return _userFaceImageArray
		}
		
		/**根据defaultUserFaceClassName返回拥有这个名字的Class对象在数组中的位置
		 * @param faceClassName  String (用户头像的名字)
		 * @param faceClassNameArray  Array (用户头像的数组)
		 * @return uint   
		 */ 
		private function getUserFaceSelectedIndex(faceClassName:String,faceClassNameArray:Array):uint
		{ 	
			if (faceClassName == "")
		 	{
		 		return 0;
		 	}
		 	else
		 	{
		 		for (var i:uint=0;i<faceClassNameArray.length;i++)
            	{
            		if(faceClassNameArray[i].icon.toString() == faceClassName) 			
            			return i;
            	}
            	return 0;  
    		}    	            
		 }
		
	}
}

⌨️ 快捷键说明

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