2
回答
对象引用的理解.....
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
game.getCurrenScreen().update(deltaTime);

game.getCurrenScreen().present(deltaTime);

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

举报
闪耀
发帖于4年前 2回/112阅
共有2个答案 最后回答: 4年前

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

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

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

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

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

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

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了


顶部