NeoAxis的网址: www.neoaxis.com
程序主要的初始化过程:
class Program : function Main() --> Main2() --> EngineApp.Init( new GameEngineApp() );
if( EngineApp.Instance.Create() ) 这句代码会触发class GameEngineApp的 function: onCreate().
加载地图的部分:
if( !MapSystemWorld.MapLoad( fileName ) )
根据地图加载窗口:
class GameEngineApp : OnCreate() --> ServerOrSingle_MapLoad() --> CreateGameWindowForMap() --> CreateGameWindowByGameType() --> return new ActionGameWindow();
将窗口加入到消息处理中:
controlManager.Controls.Add( gameWindow );
初始化过程就完成了,其他次要部分就没有列出来了。
事件处理部分:
由于之前的代码:EngineApp.Init( new GameEngineApp() ),所以引擎会将消息发送到class GameEngineApp,
在class GameEngineApp中有事件响应函数: OnKeyDown, OnKeyPress, OnKeyUp 等等
在这些处理函数中,都有类似这样的代码:
if( controlManager != null )
if( controlManager.DoKeyDown( e ) )
return true;
由于之前的代码:controlManager.Controls.Add( gameWindow );
所以class gameWindow就能响应由controlManager传递过来的消息了。