标签: game-development

在 Phaser 3 中使用瓷砖贴图时,如何阻止瓷砖流血?

在 Phaser 3 中添加瓷砖贴图时,瓷砖之间会出现明显的渗色(或间隙)。这有时被描述为瓷砖的“闪烁”或“闪烁”。

这在平移时通常更为突出。

const map = this.make.tilemap({ key: 'some-map' })
const tiles = map.addTilesetImage('some-tileset', 'some-key')
const baseLayer = map.createStaticLayer('base', tiles, x, y)

Run Code Online (Sandbox Code Playgroud)

我如何阻止这种情况发生?

在此处输入图片说明

javascript game-development phaser-framework

3
推荐指数
1
解决办法
439
查看次数

如何在Android中存储游戏级别得分?

请告诉我如何存储级别信息(如愤怒的小鸟级别显示屏包含******同我的Android游戏).

android game-development

2
推荐指数
1
解决办法
1662
查看次数

生成不带图像的heightMap

我想创建一个世界生成器,这样每次加载它时,它都会生成一个新的高度图.为此,我使用2D整数数组.尺寸是x,z和高度(y).

是否有一些简单的生成算法可以随机化地形?

java maps game-development terrain heightmap

2
推荐指数
1
解决办法
3671
查看次数

如何将0到无穷大的值钳制到0到1的值?

我有一个Java程序,它可以生成一个从0到无限的浮点值积极性.我需要做的是,浮动越高,程序触发函数attackPawn()的可能性就越高.

我已经发现我需要函数Math.random(),它给出一个介于0和1之间的随机值.如果Math.random()低于侵略性转换为0到1之间的浮点数,我调用函数attackPawn( ).

但是现在我被卡住了,我无法弄清楚如何将侵略性从0变为无限到从0到1的浮点数,1意味着"无限"的侵略性而0意味着没有愤怒.

任何想法或数学等式?先感谢您

java math game-development

2
推荐指数
1
解决办法
2278
查看次数

如何沿局部x、y、z轴平移?(戈多)

我是一名业余开发人员,在 Godot 3 中开始一个简单的第三人称 3D 游戏。我设置了一些控件,允许 KinematicBody(名为 Player)根据 WASD 输入沿 x 和 z 轴移动。我还有一个相机作为播放器的子级,因此相机跟随在播放器后面并相对于播放器旋转。

然而,当相机旋转时,向前按仍然会沿着全局 z 轴移动玩家!我想当玩家旋转并且你向前按时,玩家应该远离摄像机。

是否有一种内置方法可以根据播放器的旋转沿 x 或 z 轴移动?即向前按会沿局部负 z 轴平移,使其局部向前移动。

Transform()我已阅读和的文档Basis(),它似乎相关,但相当不清楚;或者至少超出了我的技能/理解范围。

3d game-development godot

2
推荐指数
1
解决办法
7829
查看次数

多态与动态铸造

所以我正在研究一个基于文本的RPG,我遇到了一个问题.我目前正在从角色的库存中装备武器.我试图这样做,以便我的程序可以判断他们想要装备的物品是否属于等级Weapon.这是相关代码的剪辑:

 Item tempChosenWeapon = myInventory.chooseItem();
cout << tempChosenWeapon.getName() << endl;
Item *chosenWeapon = &tempChosenWeapon;
cout << chosenWeapon->getName() << endl;//THE CODE WORKS UP TO HERE

Weapon *maybeWeapon = dynamic_cast<Weapon*>(chosenWeapon);
cout << maybeWeapon->getName() << endl;
Run Code Online (Sandbox Code Playgroud)

现在,Weapon是一个子类Item,这就是为什么我使用动态强制转换 - 尝试更改chosenWeapon(类型)Item,Weapon以便比较两个类.(我正在使用这些cout<<或测试是否从这些对象调用函数).

我的程序编译,一切运行正常,直到我们来到maybeWeapon->getName()程序崩溃.我已经研究了很多,但我只是不明白我做错了什么.任何答案或替代建议非常感谢!谢谢!

c++ polymorphism software-design game-development game-engine

2
推荐指数
1
解决办法
182
查看次数

如何在C/C++中以编程方式查找"已保存的游戏"文件夹?

我正在写一个游戏.我打算将保存存储在"已保存的游戏"目录中.

如何以编程方式查找"已保存的游戏"文件夹的位置?

它需要在非英语Windows上运行.像黑客一样%USERPROFILE%\Saved Games不是一种选择.

c c++ windows winapi game-development

2
推荐指数
1
解决办法
151
查看次数

如何禁用gameObject以便再次启动游戏时不会再次打开

我制作了一个游戏,询问用户名,然后单击“下一步”按钮将其显示。但是,只要我打开游戏,它总是会询问名字。我想做些事情,以便它询问名称,然后保存它并禁用之前询问三个名称的gameObject。因此,每当我打开游戏时,它只会显示我的名字,而不会询问我的名字。

game-development unity-game-engine

2
推荐指数
1
解决办法
43
查看次数

编辑器循环延迟。是我的游戏有问题吗?

我对 Unity 的 analisys 配置文件很陌生。我决定看看我的玩家是否下降了太多 FPS,然后我发现了这一点。这会对我的游戏造成问题吗?我不知道这个系统是如何工作的,但我猜 8.35 是一个很高的数字......

分析公司简介

game-development game-engine unity-game-engine

2
推荐指数
1
解决办法
1万
查看次数

glm::lookAt 给出了 2D 轴的意外结果

基本上我有一个局部空间,其中 y 指向下方,x 指向右侧,就像

       |
       |
  ---------> +x
       |
       | +y
Run Code Online (Sandbox Code Playgroud)

中心位于 (320, 240),因此左上角为 (0,0)。一些窗口系统使用它。

所以我有这个代码

       |
       |
  ---------> +x
       |
       | +y
Run Code Online (Sandbox Code Playgroud)

我想我需要从 z 的负位置朝正 z 方向查看 (320,240,0),“向上”方向是负 y。

但它似乎没有提供正确的结果

    auto const proj = glm::ortho(0.0f, 640.0f, 0.0f, 480.0f);
    auto const view = glm::lookAt(
        glm::vec3(320.0f, 240.0f, -1.0f),   //eye position
        glm::vec3(320.0f, 240.0f, 0.0f),    //center
        glm::vec3(0.0f, -1.0f, 0.0f)        //up
    );
Run Code Online (Sandbox Code Playgroud)

c++ opengl game-development glm-math

2
推荐指数
1
解决办法
176
查看次数