所以我是 Phaser 的新手。在我的游戏中,我需要检测何时按下“W”和“S”键。我查阅了文档但无法弄清楚。请帮帮我。
我试图用libGDX实现一个简单的动画,我目前只停留在一件事上.可以说我有一堆精灵需要一些时间才能完成.例如,大约30个精灵像这样的链接:https://github.com/libgdx/libgdx/wiki/2D-Animation
但是,在动画完成之前,按下一些键.为了平滑动画,我希望在开始下一组动画之前完成30帧,以防止突然停止.
所以我的问题是我如何在libGDX中实现它?我目前的想法是扩展这个Animation类,它将跟踪我拥有的帧数以及渲染的数量,然后显示其余部分.或者使用该isAnimationFinished(float stateTime)功能(虽然我没有运气使用它).
我看过像superjumper这样的例子很少有动画,并没有真正改变那么多.
另外,有没有办法从TextureAtlas.createSprites方法中保存精灵列表并使用动画类?如果没有,那么提供此功能的目的是什么?
谢谢
我创建了一个scene2d.ui,Table并希望交替每行的背景颜色.
我已经查看了各种表和单元格方法,但似乎没有明显的方法.
它甚至可能吗?如果是这样,最简单的方法是什么?
我们正在将TFS 2012项目迁移到TFS 2013(项目只有工作项而没有源代码),并且有一些关于敏捷项目模板的问题.
我想知道以下内容:
为什么带有上面模板的TFS 2012项目下面有一个名为"BuildProcessTemplates"的文件夹,而TFS 2013项目没有这样的文件夹?
"BuildProcessTemplates"文件夹的重要性是什么,工作项数据是否存储在其中?我们可以在不影响工作项数据的情况下摆脱它吗?
我们正在将TFS 2012项目迁移到TFS 2013中,因此我们想知道在迁移到TFS 2013之后是否可以删除"BuildProcessTemplates"文件夹而不会影响WorkItems.
tfs tfsintegrationplatform tfs2012 tfs2013 build-process-template
我在 IIS 8.5 上运行的(Web 窗体)站点上工作,并且目前正在设置 404 和 500 的错误处理。
我已经有了system.web>customErrors设置,但是由于我们在集成模式/较新版本的 IIS 下运行,因此它是从system.webServer> 中提取的httpErrors。
使用 IIS GUI,我选择在站点上用静态 HTML 文件替换标准 IIS 错误页面:
<httpErrors errorMode="Custom">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath=""
path="/problem.html" responseMode="ExecuteURL" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" prefixLanguageFilePath=""
path="/problem.html" responseMode="ExecuteURL" />
</httpErrors>
Run Code Online (Sandbox Code Playgroud)
不幸的是,虽然显示了正确的错误页面,但不是返回 404,而是返回 200,对于 500 个错误,返回 302 后跟 200。
对于旧版本的 IIS 或未在集成模式下运行的 IIS,您可以redirectMode="ResponseRewrite"在customErrors元素上进行设置,这将解决此问题。
我试过设置existingResponse上httpErrors对所有三个可用的选项,以及尝试更新的设置responseMode="File",但这些什么也没有改变。
有没有办法对httpErrrors元素做类似的事情?或者我是否坚持将错误指向 ASP.NET 页面并从那里返回适当的错误? …
我要销毁某个对象,使其通过某个x值。这些对象是称为“球”的移相器组的一部分。在我的更新循环中,我有以下代码行:
balls.forEach(updateBalls, null, true);
Run Code Online (Sandbox Code Playgroud)
这是updateBalls函数:
function updateBalls(ball) {
if (ball.x > 800) {
ball.destroy();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是在循环期间删除对象会弄乱循环,这是我得到的错误:
TypeError:this.children [i]未定义
我试图将每个球推到一个阵列,然后像这样破坏每个球。
function updateBalls(ball) {
if (ball.x > 800) {
ballsToDestroy.push(ball);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在更新循环中:
balls.forEach(updateBalls, null, true);
for (x = 0; x < ballsToDestroy.length; balls++) {
ballsToDestroy[x].destroy();
}
Run Code Online (Sandbox Code Playgroud)
这给了我一些奇怪的错误。
如果我使用ball.kill(),它会起作用,但最终会导致游戏延迟,因为实际上并没有移除球。
我该如何解决?
我用es6语法搞乱了Phaser 3.在Phaser 3中,现在一切都由场景组成,您可以在其中加载/更新/等所有内容.因此,对于主要Game场景,我延伸Phaser.Scene.
export default class Game extends Phaser.Scene {
preload()
create()
...
Run Code Online (Sandbox Code Playgroud)
但是,假设我有一个播放器,它将涉及100行代码,我希望将其保存在单独的文件中以保证代码清洁.我该如何组织?
我发现的每个教程/信息都包含了同一文件中场景的所有代码,但对于完全充实的游戏来说,这显然是不现实的.我想将游戏的许多元素分成各自的类/文件.
那么,我只是创建了一个不扩展任何内容的播放器类?或者我应该通过类似的方式扩展它Phaser.Sprite?
我的fonts/目录中有一种字体。如何将其加载到游戏中,然后在游戏中的文本对象上使用它?在Phaser 3中,我找不到使用字体的任何东西。