📄 gamemain.as
字号:
/**
* @(#)GameMain.as
*
* @author soda E-mail:junaisy@163.com
* @version 1.0
* <br>Program Name: NetGame for Blue
* <br>Date: 2007-4-20
*/
import org.blue.net.ConnectJavaServer;
import org.game.Application;
import org.game.role.UserMovie;
import org.game.context.Session;
import mx.soda.util.Map;
import org.game.context.CurrentMovie;
/**
* 显示游戏所元件的主窗口
*/
class org.game.frame.GameMain extends MovieClip
{
//背景深度
private var BACKDROP_DEPTH:Number = Application.BACKDROP_DEPTH;
//场景深度
private var SCENE_DEPTH:Number = Application.SCENE_DEPTH;
//操作栏深度
private var COLUMN_DEPTH:Number = Application.COLUMN_DEPTH;
//临时唯一的深度
private var TEMP_DEPTH:Number = Application.TEMP_DEPTH;
private var PERSON_DEPTH:Number = Application.PERSON_DEPTH;
private var USER_DEPTH:Number = Application.USER_DEPTH;
private var CLEW_DEPTH:Number = Application.CLEW_DEPTH;
//背景mc
private var backdropMC:MovieClip;
//用户
private var userMC:MovieClip;
//临时mc
private var tempMC:MovieClip;
private var sceneMC:MovieClip;
private var handleColumnMC:MovieClip;
private var session:Session;
private var clewArray:Array;
private var comeMailMC:MovieClip;
private var currentMovie:CurrentMovie;
private var chatMC:MovieClip;
public function GameMain()
{
comeMailMC = this.attachMovie("comeMailMC","comeMailMC",15000);
comeMailMC._x = 65;
comeMailMC._y = 42;
comeMailMC._visible = false;
chatMC = this.attachMovie("chatMC","chatMC",17000);
chatMC._x = chatMC._x + 80;
chatMC._y = chatMC._x + 10;
chatMC._visible = false;
//欢迎界面
tempMC = this.createEmptyMovieClip("welcomeMC",TEMP_DEPTH);
tempMC.loadMovie("frame/welcome.swf");
tempMC._x = 50;
tempMC._y = 50;
setBackdrop("springBackdrop");
session = Session.getSession();
clewArray = new Array();
currentMovie = CurrentMovie.getUserEsate();
}
public function loadRegister():Void
{
tempMC.unloadMovie();
tempMC.loadMovie("frame/register.swf");
}
/**
* 初始化游戏界面
*/
private function gameInstance()
{
debug("mouseMC" + this._parent.mouseMC);
setPublic("welcomeScene",SCENE_DEPTH,"scene");
//载入玩家
userMC = this.attachMovie(session.getSculpt(),"userMC",PERSON_DEPTH);
userMC._x = 300;
userMC._y = 428;
userMC.setNameColor(0xFF0000);
userMC.setName(session.getName());
session.setUserMC(userMC);
//载入控制面板
loadColumn();
debug("this._parent.mouseMC" + this._parent.mouseMC);
currentMovie.setMouse(this._parent.mouseMC);
}
public function addClewFrame(msg:String,sceneName:String,clewX:Number,clewY:Number,isChange:Boolean)
{
var mc:MovieClip = mc = this.attachMovie("clewMC","clewMC" + CLEW_DEPTH,CLEW_DEPTH++);
mc.setSceneName(sceneName);
mc.setContent(msg);
mc._x = clewX;
mc._Y = clewY;
if(isChange)
{
mc.changeWay();
}
clewArray.push(mc);
}
public function setScene(sceneName:String)
{
//初始化场景信息
var len:Number = clewArray.length;
if(len != 0)
{
for(var i:Number = 0; i < len; i++)
{
clewArray[i].removeMovieClip();
delete clewArray[i];
}
CLEW_DEPTH = Application.CLEW_DEPTH;
}
//清除当前场景的所有玩家
var map:Map = session.getUserSet();
debug("==========map.size()==========" + map.size());
if(map.size() > 0)
{
var ary:Array = map.values();
debug("==========ary==========" + ary);
var len:Number = ary.length;
{
for(var i:Number = 0; i < len; i++)
{
ary[i].removeMovieClip();
delete ary[i];
}
}
//清零
map.clear();
}
clewArray = new Array();
userMC._x = 300;
userMC._y = 428;
setPublic(sceneName,SCENE_DEPTH,"scene");
var connect:ConnectJavaServer = ConnectJavaServer.getConnectJavaServer();
connect.call("PersonAction","changeScene",null,session.getSceneName(),sceneName,
session.getName(),session.getSculpt());
session.setSceneName(sceneName);
debug("setScene结束了!!!!!!!!!!");
}
/**
* 设置背景
* @param backdrop:背景swf的名称
*/
public function setBackdrop(backdrop:String):Void
{
setPublic(backdrop,BACKDROP_DEPTH,"backdrop");
}
/**
* 内部调用函数,加载其他mc
*/
private function setPublic(name:String, depth:Number,locality:String):Void
{
var mc:MovieClip = this[name + "MC"];
if(mc!= undefined)
{
mc.unloadMovie();
}
else
{
mc = this.createEmptyMovieClip(name + "MC",depth);
}
mc.loadMovie(locality + "/" + name + ".swf");
}
/**
* 载入状态栏
*/
public function loadColumn()
{
handleColumnMC = this.createEmptyMovieClip("handleColumnMC",COLUMN_DEPTH);
handleColumnMC.loadMovie("handleColumn.swf");
}
/**
* 输出调试信息
*/
public function debug(msg:String):Void
{
trace("GameMain debug ->" + msg);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -