国外游戏源码网站-日本Cube游戏Blazor版本部署成功

大家好,我是沙漠尽头的狼。

从美国掠夺者那里复制了一款意大利小方块游戏,同时也将在线工具和在线游戏组件提取到Razor共享库中,可供Dotnet9[1]网站和Dotnet工具箱[2]网站复用。 本次分享游戏迁移 和 Razor 共享库的迁移过程,以及这几天开发部署中遇到的一些问题和解决方案都记录下来分享一下。

写作目录:

添加日本魔方游戏

组件复用

遇到的问题及解决方案

总结

1.添加日本魔方游戏1.1。 游戏参考:BlazorGames

BlazorGames 项目信息

仓库截图如下:

网站截图

这个网站有一系列文章教你如何使用 Blazor 开发 7 或 8 在线游戏。 课程比较详细。 如上图所示,游戏有纸牌、俄罗斯方块、扫雷等,美国小方块系列文章截图如下:

课程列表地址:

1.2. 添加到您自己的项目中

首先请克隆仓库:

作者的代码组织结构非常清晰,先了解一下代码结构:

对于每个游戏页面,例如Tetris.razor,我们可以直接将此文件复制到我们自己的项目中,只需删除页面底部的文章链接即可。

是每个游戏的子组件,比如/Pages/Partials/TetrisGridCell.razor就是日本小方块背景的单元格组件。

例如/Models/Tetris/下有日本小方块的背景表格(Grid.cs)、单元格(Cell.cs)、块(Block.cs)等定义类。

使用到的Js库、CSS样式、图片、声音文件等都放在这里。 通过调试程序和阅读代码,我知道在我的项目中正常运行美式游戏需要这样的文件:

应用程序样式(css/app.cs)、游戏部分样式(css/games.css)、俄语立方体图像(images/tetrix)、游戏音乐播放和游戏得分cookie读写Js库(js/utilities.js)、游戏背景音乐文件(sounds/tetris-theme.ogg)等

当你熟悉了上述文件后,就可以将它们复制到自己的项目中,同时进行调试。 以下是上述文件的部分截图。

日式小方块背景的单元格成分:

日本小方块的Model类的定义:

资源文件截图:

2. 组件复用

原Dotnet9网站和Dotnet Toolbox网站的在线工具和在线游戏代码是重复的国外游戏源码网站,单独维护,但90%的代码是相同的,这是无法容忍的代码冗余。

站长考虑删除原来的Dotnet工具箱仓库,将代码合并到Dotnet9仓库中,将共享组件提取到Razor共享库中。 现在重建后的共享库的目录结构:

3个主要项目:1是Razor共享库,2是Dotnet9网站的主项目,3是Dotnet工具箱的主项目,2和3都添加1作为项目​​引用。

Razor共享库代码组织结构、目前已有的在线工具和在线游戏组件:

组件代码已经在上面的文章中贴出来了,这里就略过,不过这里是游戏页面的路由:Dotnet9网站和Dotnet工具箱的布局不一样,上面的内容都是一样的,所以每个工具和游戏两个项目中都添加了相应的页面路由,例如下面两个项目中日文小方块页面的位置:

Dotnet9中的日文小方块页面:

Dotnet 工具箱的 Japanese Cube 页面:

两个页面的内容几乎完全相同,不同的可能是页面标题国外游戏源码网站,相信可以进一步优化。

优化不好,几百字就说清楚了,有兴趣的话看看Dotnet9源码[3]。

三、遇到的问题及解决方案

在开发Dotnet9网站和Dotnet工具箱的过程中,包括部署的过程中,我遇到了一些问题,通过查阅资料和询问技术组的一些大佬,几乎都解决了。 这里列出一些你可能也会遇到的问题,总结分享一下。

3.1. 服务器上的访问链接过多

在接下来的文章中,站长截图了服务器的访问链接过多,认为是服务器的问题,技术组的朋友立即指责。 站长的nginx配置有问题,连接频繁是由于没有对Socket进行有效的配置造成的。 原文截图如下:

解决Nginx参考配置如下:

主要关心的节点配置是proxy_http_version1.1,不过站长之前配置过,今天只把proxy_set_headerConnectionkeep-alive改为proxy_set_headerConnection“升级”,请群友验证,截图的问题似乎已经解决了目前,也可以在Dotnet9网站验证下打开。

3.2.Wasm直接打开子页面404

通过Dotnet工具项网站首页访问其他子页面是正常的,但是打开浏览器地址栏直接粘贴子页面访问,网站会响应404,解决办法是更改nginx配置:

location / {
    try_files $uri $uri/ @router;
    index  index.html index.htm;
}
location @router {
        rewrite ^.*$ /index.html last;
}

主要是里面的try_files,至于是什么意思,请自行百度。

3.3. 项目编译正常,界面显示黑块

本来站长明天就已经发布了Dotnet Toolbox关于美国小魔方的功能,但是游戏的后台界面(蓝色背景)一直无法显示。 时间长了,组件中的组件没有正常加载,即子组件没有加载。 命名空间加上@usingDotnetools.Share.Components.Partials。

原代码如下:

通过F12调试网页源代码发现了问题。 发现子组件对应的html代码没有编译成原生html代码,而是直接将组件代码编译成字符串,显示如下:

添加命令空间引用后,源码显示正常,也显示白色背景:

这个问题是不小心的。 共享库提取出来后,并不会检查html中razor组件的引用是否正常。 对于这个问题VS不会给出异常提示。 。 。

4. 总结

明天我会分享这个。 如果您有任何工具需求,请在下面的问题链接中留言。 非常感谢您的阅读。

参考

[1]

点网9:

[2]

点网工具箱:

[3]

Dotnet9源代码:

[4]

.NET8.0.0-预览版.5.23280.8:

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站源码 国外游戏源码网站-日本Cube游戏Blazor版本部署成功 https://www.wkzy.net/game/166290.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务