跟我来玩IGFrame(二) GFrame & Event(Ver0.2内容更新!!)

各位转载请注明出处,谢谢合作~作者:ioozhuangzi

哈哈~欢迎回来~咱们继续来折腾俺的架子。

首先先来仔细说说GFrame类的方法,上次的代码里已经用到了两个方法,其实还有很多别的方法,且听我讲来~

构造方法,这个其实有一堆呢……

public GFrame(IGModel gModel)

    public GFrame(String title, IGModel gModel)

    public GFrame(String title, IGModel gModel, int fps)

    public GFrame(String title, IGModel gModel, 

int width, int height) 

    //虽然很多方法,其实都是这个方法的简化版,内部使用了一些架子的默认参数

    //比如没有fps那个参数的,会默认fps30;没有宽高的,默认为480*320

    public GFrame(String title, IGModel gModel, int fps, 

int width, int height) 

         (Ver0.2更新)

         //通过Xml来构造,xml格式详见示例代码config.igc.xml文件

         public GFrame(String configXml) 

         //通过Xml来构造,构造完成时根据autoShowFrame来决定是否调用showFrame()显示窗口

         public GFrame(String configXml, boolean autoShowFrame)

下面给出常用的方法:

showFrame()

这个肯定是要调用的,用来显示窗口

exit()

退出程序,这个的用法以后再说。默认情况按Esc会调用该方法退出程序

autoRender(boolean autoRender)

是否开启自动渲染精灵,说到精灵类再说。设置true为开启

isAutoRender()

判断是否开启自动渲染精灵,说到精灵类再说

setShowFPS(boolean isShowFPS)

设置是否显示实际FPS,设置为true时,会在窗口标题栏看到FPS,默认为false

setShowCursor(boolean isShowCursor)

设置是否显示鼠标,默认为true,显示。在自己做鼠标图片是能用到

setIcon(String icon)

设置标题栏图标,参数是图片路径,16*16,建议图片资源放到src/res/images/

setTitle(String title)

设置窗口标题

setFPS(int fps)

设置FPS

setAlias(boolean isAlias)

设置是否开启抗锯齿,可以提升画面质量,true为开启,默认为false

setRenderQuality(boolean isRenderQuality)

设置是否开启高质量渲染,可以提升画面质量,true为开启,默认为false

setShowLoading(boolean isShowLoading)

设置程序启动时是否显示Loading文字,默认为true开启

setFullScreen(boolean fullScreen)

设置是否开启全屏,默认为false不开启;默认情况可按Esc退出全屏

(Ver0.2更新)

public void forceExit()

无提示退出程序

public void setAccelerateType(int accelerateType)

设置使用的渲染加速类型,可选值GFrame.ACCELERATE_NONE、GFrame.ACCELERATE_OPENGL、GFrame.ACCELERATE_DIRECTX

public void setNoDecorated(boolean noDecorated)

设置窗口是否有边框和标题栏,为true时需要自己处理关闭窗口

 

能用到的方法大概就这么多,大家可以调用试试。

 

刚才说到了GFrameexit()方法,它会退出程序,但实际我们不会在main方法里调用这个方法(为啥?用大腿想想,吼吼),我们可能在游戏里点击“退出游戏”来关闭程序,但问题来了,GFrame对象是在main方法里的,在GModel周期模型里根本取不到,当然你可以把GFrame定义为静态变量,然后使用。对,其实我已经这么做了~

当当当当~Gcontext类登场,框架上下文,统和整个架子的对象。

通过它可以在任意地方获取到GFrame对象。

GFrame gFrame = GContext.getGFrame();

当然它还能获取到别的东东,比如内部时钟对象GClock对象getGColock()。其它的如获取GSceneGscreen等等就先不说了,一般都用不到。

 

下面来说一下两个消息对象GKeyEventGMouseEvent,在处理鼠标和键盘消息的方法的参数出现了这两个对象。

GKeyEvent封装了键盘消息,常用方法如下:

getType()

获取消息类型,比如是键盘按下还是抬起。类型在IGEvent里定义,

IGEvent.KEY_PRESSED 键盘按下

IGEvent.KEY_RELEASED 键盘抬起

getKeyCode()

获取键盘代码。代码定义也在IGEvent里。比如IGEvent.VK_UP代表上键等等

getKeyChar()

当你按下的是字符按键时,需要用这个方法获取,该方法会返回按下的字符

getOrgEvent()

获取Java原始的键盘消息对象,应该很少用到

 

GMouseEvent封装了键盘消息,常用方法如下:

getType()

获取鼠标消息类型,比如按下、抬起、移动等等,定义在IGEvent中。

getMouseX()

获取鼠标位置x坐标

getMouseY()

获取鼠标位置y坐标

getButtonCode()

获取鼠标按键代码,定义在IGEvent里。

IGEvent.MOUSE_LEFT_BUTTON 鼠标左键

IGEvent.MOUSE_RIGHT_BUTTON 鼠标右键

getOrgEvent()

获取Java原始的鼠标消息对象,应该很少用到

 

写累了……虽然没写多少字,o(_)o…休息,休息一会儿

 

Demo项目代码下载(项目lib文件夹下的jar包为IGFrame的jar包及相关依赖包)
http://pan.baidu.com/share/link?shareid=408760&uk=504338538 提取密码:6283

感兴趣或者有疑问的各位可以留言或加Q群210816248~验证:IGFrame

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值