移相器。沿固定路径在二维网格上移动游戏角色
Phaser. Moving game character on 2d grid, along fixed path
开始使用 Phaser 制作我的第一款游戏,到目前为止进展顺利,但我遇到了障碍,我的经验不足让我发挥了最大的作用。
于是情况如下。我有一张从二维矩阵生成的地图。图片中的紫色方块。
var testMap = [
[0, 0, 0, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 1, 1, 0, 1],
[0, 0, 0, 0, 0, 1, 1, 1],
[1, 1, 0, 0, 0, 0, 0, 0],
[1, 1, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1, 1, 1],];
而且我在玩家周围有一定范围的方块,他可以移动到这些方块。图中的绿色方块。
我还制作了一个系统,可以读取鼠标位置并生成鼠标经过的图块的路径。我在一个数组中有这个路径信息。图中的白色方块。
var path = [[3,3],[4,3],[5,3],[5,4],[5,5]];
现在我想通过使用路径数组的坐标让玩家沿着这条路径移动。理想情况下在两者之间有一个函数,当玩家在移动时踩到一个新的瓷砖时检查他是否踩到了陷阱。
但我一直在用这个功能碰壁。任何想法都将不胜感激。
参见 this 示例。它是关于补间插值的,但也说明了沿路径的补间。基本上,您传递的不是 x 的单个值,而是一个数组。
开始使用 Phaser 制作我的第一款游戏,到目前为止进展顺利,但我遇到了障碍,我的经验不足让我发挥了最大的作用。
于是情况如下。我有一张从二维矩阵生成的地图。图片中的紫色方块。
var testMap = [
[0, 0, 0, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 1, 1, 0, 1],
[0, 0, 0, 0, 0, 1, 1, 1],
[1, 1, 0, 0, 0, 0, 0, 0],
[1, 1, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1, 1, 1],
[1, 0, 1, 1, 0, 1, 1, 1],];
而且我在玩家周围有一定范围的方块,他可以移动到这些方块。图中的绿色方块。
我还制作了一个系统,可以读取鼠标位置并生成鼠标经过的图块的路径。我在一个数组中有这个路径信息。图中的白色方块。
var path = [[3,3],[4,3],[5,3],[5,4],[5,5]];
现在我想通过使用路径数组的坐标让玩家沿着这条路径移动。理想情况下在两者之间有一个函数,当玩家在移动时踩到一个新的瓷砖时检查他是否踩到了陷阱。
但我一直在用这个功能碰壁。任何想法都将不胜感激。
参见 this 示例。它是关于补间插值的,但也说明了沿路径的补间。基本上,您传递的不是 x 的单个值,而是一个数组。