ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-将MVC与libgdx scene2d结合使用

2019-11-22 07:02:16  阅读:255  来源: 互联网

标签:scene2d libgdx model-view-controller java


我开始使用libgdx开发游戏.实际上,这是我的第二次尝试,因为当我开始第一次尝试时,我并不了解libgdx.在我的第一次尝试中,我有一个actor子类,其中包含逻辑和纹理.然后我开始阅读Gustavo Steigerts tutorial,我发现他试图分离逻辑和视图.我尝试做同样的事情,但是视图是我的actor子类,其中包含有关大小和位置的信息,因此它必须进行碰撞检测,这是逻辑的一部分.另外,如果您在Google上搜索,则会发现使用Scene2d无法执行MVC.
那么,有没有一种方法可以使用MVC来实现Scene2d游戏,还是我应该忽略这种模式,并在扩展actor的一类中拥有模型和视图?

解决方法:

这是一个主要基于意见的问题,但是涉及到scene2d和MVC模式时,这个问题经常出现.

总的来说,像Model-View-Controller模式试图做到的那样分开关注是很有意义的.使用scene2d并不是那么容易,因为Actor已经具有act()和draw()方法.

在我看来,您应该始终像对待游戏世界(实体)那样建模.应该有一个球员,也许是一个火箭队,或者是一个兔子类/演员/实体,他们应该知道他们需要了解和管理自己的一切.这与实体系统框架相反,在实体系统框架中,实体由“部分”组成,而这些部分则由外部系统控制.

大多数时候,将所有内容放在一起会使它也变得更加灵活,因为您已经将所需的一切都集中在一个地方.您的游戏玩法可能会改变,您的实体也会改变.如果发现实体太大,仍然可以将它们分成几个部分,例如PlayerModel,PlayerController和PlayerRenderer,它们需要相互引用,然后在act()和render()方法中触发它们.

标签:scene2d,libgdx,model-view-controller,java
来源: https://codeday.me/bug/20191122/2058040.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有