对象引用的理解.....

闪耀 发布于 2014/04/21 15:24
阅读 152
收藏 0
game.getCurrenScreen().update(deltaTime);

game.getCurrenScreen().present(deltaTime);

请问在java语言里这两句话怎么理解啊?一直没有搞懂。。。。。。。。

加载中
0
Brin想写程序
Brin想写程序

game相当于整个运行的上下文对象。也就是你的程序。其实并不是对象。而是环境。

getCurrenScreen是从环境中取出唯一的一个当前的屏幕。

然后让当前的屏幕执行update方法。然后又让屏幕执行present方法。

一般在简易的游戏引擎里面,update表示,更新资源数据和执行游戏逻辑。

present方法表示,调用draw或者render或者directX和opengl绘制图形方法,根据update方法生成的数据,开始图形绘制。

Brin想写程序
Brin想写程序
回复 @闪耀 : 你把 update理解为装子弹,present理解为射击。 update理解为蘸蘸颜料,persent理解为在纸上开始画画。
闪耀
闪耀
额...还是没有理解过来......那请问这句又怎么理解啊?? getWindowManager().getDefaultDisplay().getMetrics(dm);
0
Brin想写程序
Brin想写程序

getWindowManager().getDefaultDisplay().getMetrics(dm);

是Android的代码。

一样的,如果是Activity里面,肯定有个依赖注入,就是父对象把自己的引用,交给子对象,然后控制子结构。

Activity里面取出父结构的引用也就是WindowManager,因为父结构知道的肯定很多,所以getDefaultDisplay获得默认的屏幕信息类。getMetric就是获取屏幕的大小信息。

不过由于java是传引用的,所以传递一个Dm对象,进去后,被getMetric方法填充了屏幕大小信息。

比如

dm.x=100

dm.y=100

getMetrics(dm)

再去访问dm就有可能是

dm.x==640

dm.y==480了


返回顶部
顶部