哈哈~欢迎回来~咱们继续来折腾俺的架子。
由于俺文笔能力有限,可能写出的东西您没有看懂,那真是抱歉了,你可以留言或者加
IGFrame的Q群(210816248~验证:IGFrame),咱们再一起讨论。
首先先来仔细说说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那个参数的,会默认fps为30;没有宽高的,默认为480*320
public GFrame(String title, IGModel gModel, int fps,
int width, int height)
下面给出常用的方法:
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退出全屏
能用到的方法大概就这么多,大家可以调用试试。
刚才说到了GFrame的exit()方法,它会退出程序,但实际我们不会在main方法里调用这个方法(为啥?用大腿想想,吼吼),我们可能在游戏里点击“退出游戏”来关闭程序,但问题来了,GFrame对象是在main方法里的,在GModel周期模型里根本取不到,当然你可以把GFrame定义为静态变量,然后使用。对,其实我已经这么做了~
当当当当~Gcontext类登场,框架上下文,统和整个架子的对象。
通过它可以在任意地方获取到GFrame对象。
GFrame gFrame = GContext.getGFrame();
当然它还能获取到别的东东,比如内部时钟对象GClock对象getGColock()。其它的如获取GScene、Gscreen等等就先不说了,一般都用不到。
下面来说一下两个消息对象GKeyEvent和GMouseEvent,在处理鼠标和键盘消息的方法的参数出现了这两个对象。
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…休息,休息一会儿