2016 - 2024

感恩一路有你

mvc怎么调试 asp.net项目运行时页面是哪个?

浏览量:4860 时间:2023-05-11 15:55:39 作者:采采

项目运行时页面是哪个?

Aspx/cshtml:前台页面,区别在于编译引擎不同。后者介绍。dll:已编译的程序集。css:样式表。js:脚本文件。MVC3中的配置文件。最常见的有。asax:全局应用文件。ascx:用户控件。母版:母版页。cs/。vb:不常见。当您需要在网站中发布源代码时,会出现其他常见的文件类型,但它们不是必需的,例如:。html:静态页面。xml:XML文件,通常用于保存用户数据。pdb:程序代码调试文件和其他程序定义的文件类型。常用目录:

Bin:程序集所在的目录scripts:脚本目录content:CSS等内容目录(MVC中常见)。

App_Code:程序文件目录(*。cs,*。vb)

App_Themes:主题目录视图:前台页面目录,MVC中常见:Areas目录,MVC中常见。

如何在Unity中实现MVC模式?

在Unity games的开发中,我没有 t刻意采用MVC框架,因为不像网站开发,模型、视图、控制器在游戏领域还没有明确的定义。原因可能是不同游戏类型的软件架构可以有很大的不同,游戏中的对象之间有大量的交互,所以垂直MVC似乎不是很适合。

但一定程度上需要将代码逻辑分离,这样可以提高代码的可维护性和可重用性。我来说说我自己的一些经历。

假设我们在做一个马里奥:我会对游戏中的人物采用这样的结构。角色管理器,其作用是包含该角色的控制器并提供黑板[1]。控制器,使用可重用的模型来处理这个游戏中角色的某个状态的逻辑。可重用模型是一个虚拟的概念,不是父类。通常这种模型负责一个特定的功能,可以重用,可以看作是游戏引擎的扩展。我将从角色管理器和可重用模型中继承MonoBehavior,这样我们可以直观地知道这个角色是一个什么样的角色,我们可以使用inspector来调整模型的参数。如何将上述架构应用于马里奥:作为角色管理器,我们可以使用Refine状态机或者Be。行为树.一个优点是它们都提供了一个 "控制器和很自然。比如精化状态机,它的每一个状态都可以看作一个控制器。行为树中的动作节点也可以看作是一个控制器。

在每个控制器中,都会有指向一些可重用模型的指针。比如下图,Move State可以有一个Move Motor,专门用于GameObject的移动,而Sprite封装了GameObject的性能,比如动画、旋转、位置等等。这些可重复使用的模型通常提供丰富的参数来调整,并可以在不同的游戏中使用。

游戏中的用户输入和消息会临时存储在角色管理器中的黑板上,供角色管理器决定是否需要更换控制器。比如在Mario中,我按下左键,向左移动的信息就会被写入FSM的黑板,然后我通过FSM s状态转换机制[2]。这样做的好处是,左边的信息可以从输入管理器(图中未显示)或敌方AI管理器(图中未显示)获得。这样,一种类型的FSM(如有空闲、移动、跳转等。)可以用于所有相似的角色,无论是玩家控制的还是AI控制的。

最终在团结会是这样的局面。FSM、Sprite和MoveMotor都是组件,控制器包含在FSM中。虽然上述方案并不严格,但在一定程度上提高了代码的可重用性和可维护性。比如现在我基本都是写MoveMotor,Sprite之类的模型,新项目扔进去就可以用了。将平台游戏中常用的MoveState、IdleState、JumpState等状态进行封装,留下一些可调整的参数,比如状态之间的转换。

[1]黑板本质上是一本字典。[2]原来的FSM会把状态转换直接放在状态中,但这大大降低了状态的可重用性。所以可以尝试用状态的变换作为可调参数。有些可视化FSM的原理也是一样,用连线把两个状态联系起来,然后定义一些变换条。件。

模型 游戏 角色 控制器

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。