【问题标题】:Phaser 2 bug in running the programPhaser 2 运行程序中的错误
【发布时间】:2022-08-13 23:27:27
【问题描述】:

我使用 vs 代码作为编辑器和打字稿作为我的代码的语言 我正在尝试使用 Phaser2 创建网页游戏 并且出现此问题:\“错误 TS2304:找不到名称 \'Phaser\'。\” 我已经在我的项目中安装了移相器文件夹,当我尝试编写导入时,它说另一个错误..

请帮助有人遇到这个问题吗?

  • 如果我的回答没有帮助,我建议您根据官方phaser typescript template 设置您的新项目,并将您的代码的相关部分复制到新的项目结构中。

标签: javascript typescript phaser-framework


【解决方案1】:

首先,你似乎在混合移相器 (又名移相器 2)移相器 3,您问题中的概念。

  • 如果您正在使用移相器 2没有Scene班级,因此您的代码将不起作用和/或类型定义将不匹配(或通过大量错误)。

关于您遇到的错误,只需在第 4 行并且编译器不应该通过错误,如果您正在加载的移相器版本是移相器 3。

如果你不想使用 import phaser 语句你可以添加typestsconfig.json(或 jsconfig.json).
只需将'phaser' 添加到types 数组,或添加属性types,如果它不存在,您的配置可能如下所示:

{
    "compilerOptions": {
        //... other configurations
        "types": ["phaser",] // <- added phaser type
     },
     //... other configurations 
}

这对于 vs-code “编译器”来说应该足够了。

更新/额外:
如果您使用的是 Phaser-ce(又名 Phaser 2)和 nodejs,我建议您按照此处(npm phaser-ce page)的文档设置您的系统。
(phaser-ce 真的不推荐用于新的开发)

如果您使用的是 Phaser 3 和 nodejs,我建议您按照此处 (npm phaser page) 中的说明设置您的系统。

最终更新:
如果上述几点没有帮助,我建议您根据官方phaser typescript template 从头开始​​设置您的项目,并将您的代码的相关部分复制到新的项目结构中。
或者你可以使用this alternative official template,它稍微复杂一些,但我认为这种类型的项目使用的频率更高。

【讨论】:

  • 我尝试添加该模板,但仍然无法解决该问题。有没有办法可以将我的文件发送给您,您看看?
  • @YarinGx 如果您的项目在 github 上,您可以在此处发布该链接,我可以快速浏览一下。
  • 是的,我会的,github.com/YarinGx/HomeAssignment 我必须在星期一之前完成它:<
【解决方案2】:

好好看看这段代码(https://github.com/YarinGx/HomeAssignment),因为有一个.scene文件,我假设这是一个用https://phasereditor2d.com/创建的项目,所以我建议使用那个编辑器来改变这个项目。
用这个编辑器打开项目,工作(如果你删除import Phaser from "phaser";

在 VSCode 中,如果您在第 4 行删除 import Phaser from "phaser";,则文件 MainScene.ts 的编译应该可以工作。我刚刚添加了文件

tsconfig.json

{
    "exclude": [
        "node_modules"
    ]
}

只需编译:tsc -p .

顺便提一句。:我会删除这一行

<script src="https://cdn.jsdelivr.net/npm/phaser@3.15.1/dist/phaser-arcade-physics.min.js"></script> 

来自index.html,我认为这没有意义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-09
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多