我已经开发了一段时间的Web应用程序,并且已经完成了GUI和游戏应用程序开发.
在Web应用程序(php for me)中,对文件发出请求,该文件包含将信息处理到内存中的所有必要文件,然后每个请求的流程从上到下.(主要是)
我知道对于游戏来说,动作是在游戏循环中发生的,但是游戏的所有不同元素如何分成单个循环(菜单系统,gui,加载资源和3d世界)以及某些常量的加载和卸载的东西.
对于GUI程序来说,我相信有一些"应用程序循环".
大多数项目被调用到内存中然后被访问,是否需要时链接并加载到内存中的项目?
帮助我更快地开发Web应用程序的是当我理解程序的流程时,它不必详细,只需要一般的想法或伪代码.
所有这些中几乎总是存在循环 - 但在大多数开发过程中,这并不是你会想到的.
如果退后一步,您的Web应用程序将基于循环 - Web服务器的accept()
循环:
while(listening) { get a socket connection; handle it; }
..但作为一名Web开发人员,您可以屏蔽它,编写"事件驱动"代码 - "当有人请求此URL时,执行此操作".
GUI也是事件驱动的,事件也可以通过某个循环检测到:
while(running) { get mouse/keyboard/whatever event handle it }
但是GUI开发人员不需要多考虑循环.他们写道'当鼠标点击此处时,执行此操作'.
游戏,再次相同.有人必须写一个循环:
while(game is in progress) { invoke every game object's 'move one frame' method; poll for an input event; }
...而其他代码是用更多事件驱动的样式编写的:'当子弹对象与此对象重合时,触发爆炸事件'.