一种针对博弈状态的有限状态机

panda3d-stageflow的Python项目详细描述


潘达3d舞台流

每一款游戏都有不同的原型 阶段:打开学分,主菜单,主游戏循环,ingame学分,和 等等。这些可以被安排为一个有限状态机,其中数据 在阶段之间传递。在

另外,每个阶段,特别是主菜单和主游戏循环, 可以有一些模式来修改它们的基本功能,主要是 暂停基本游戏的菜单;这些菜单称为子阶段。在

stageflow实现了这个基本框架,允许您。。。在

  • 分别关注Stage和{}
  • 在多个Substages中重复使用Substages
  • 使用预制的典型Stages/Substages。在

例如:#FIXME:Abstract Panda3DSplash out the example。。。在

fromdirect.showbase.ShowBaseimportShowBasefromstageflowimportFlowfromstageflow.panda3dimportPanda3DSplashfromstageflow.prefabimportQuitShowBase()base.flow=Flow(stages=dict(splash=Panda3DSplash(exit_stage='quit'),quit=Quit(),),initial_stage='splash',)base.run()

这个例子。。。在

  • 创建一个具有两个阶段的Flow(命名为splashesquit
  • 立即进入splashes阶段,这将创建一个Task
  • 启动Panda3D的主回路
  • Task播放闪屏,直到它结束,或者按下escape
  • 转换到quit,这又会结束程序。在

安装等

安装:pip install panda3d-stageflow

文档:readthedocs.io

源代码和问题跟踪程序:GitHub

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在windows上向doclet添加多个sourcepath?   java谷歌地图应用程序   java为以下场景创建正则表达式   Java文件通道异常   Java集合如何将文件对象列表转换为路径对象列表?   多线程生产者/消费者模型使用Java(同步),但始终运行同一线程   java如何为存储在ArrayList中的特定属性设置值?   java一次不能加载多个osm文件   使用java 8将map<String,map<Long,customeObject>>转换为list<customeObject>   java JDK包含哪些脚本语言解释器?   java为什么eclipse在这里生成语法错误?   多线程Javasocket异常:socket已关闭且值为空   java我想在Android活动中创建一个带有图像的可滚动文本列表。我应该用什么?   java实现编译时警告   java根据安卓 SQLite数据库中前一行的相同值递增特定值   java移动迭代器语句使代码可编译   java JVM终身/旧代已达到限制&服务器挂起   为什么我们不能在映射上使用迭代器(Java)?   xml如何映射JAXB中已有的JavaBean