【问题标题】:HTML5/JavaScript 2.5D - Making the ground in its own planeHTML5/JavaScript 2.5D - 在自己的平面上建立基础
【发布时间】:2012-07-06 00:52:51
【问题描述】:

所以,我对启动一个模仿这种 2.5D 样式的 HTML5/JavaScript 项目非常感兴趣: http://superflashbros.net/2009/02/22/blue-rabbits-climate-chaos/

我个人试图远离第三方脚本,只保留代码的核心纯 JavaScript。但是,我对三角的了解并不是最好的,那么解决这个观点的最合适的方法是什么?我本质上想要一个用 2D 精灵制作的游戏,但是地平面(可能还有建筑物,如 Flash 游戏)被倾斜以赋予它 3D 感觉。我不想制作“模式 7”引擎(即马里奥赛车之类的 SNES 游戏),因为据我了解,这是分段绘制的。

我应该研究什么建议或资源?

【问题讨论】:

    标签: javascript html 3d 2d 2.5d


    【解决方案1】:

    我只是要求您阅读更多有关此内容的信息,并且您知道,我尝试做这个并且取得了不错的结果,但由于我的新工作而停止了该项目。

    不管怎样,你可以先看看一些用 javascript 编写的游戏引擎,这里是你可能会感兴趣的知名游戏引擎的列表:

    1-Three.Js

    2-GameQuery (JQuery Plugin)

    3-Isogenic engine

    您也可以查看这篇博文了解更多信息66+ Open Source JavaScript Game Engine for Serious Developers

    注意: 我知道您喜欢编写自己的 javascript 并相信我这是一个非常好的习惯,但是我的建议是至少尝试一个 Javascript 游戏引擎(如果您可以尝试多个好)看看不同的引擎是如何工作的以及它们是如何在引擎盖下运行的,我的朋友会启发你并帮助你了解这些引擎,甚至制作你自己的引擎(这不是不可能的) .

    我并不是说你应该尽可能多地尝试(因为这显然毫无意义),而是我告诉你用选择的引擎制作小型(如果可能的话)游戏,我的意思是得到一个想法Javascript 游戏引擎如何在 2D 中工作,然后使用 WebGL 技术转移到 2.5D 甚至 3D。

    【讨论】:

    • 谢谢你,我一定会看看这些引擎作为一种灵感。
    【解决方案2】:

    我检查了你的参考游戏,明白你所说的“2.5D”是什么意思。据我了解,解决此问题的最佳方法是通过转换对象的 x,y 坐标来创建伪三维。您将拥有一个为您进行转换的函数,这是我对示例的最佳猜测。

    // This function takes in a x- and y-coordinates of an object corner and returns the
    // coordinates of the corresponding back corner of an object.
    var transform = function(x,y) {
      // The farther the character is from the object, the more skew there would be.
      // Here "char" is your globally recognized game character. If it was not in the scope
      // of the function you'd have to pass it as a parameter.
      var skew = (char.x > x) ? (char.x - x) : (x - char.x);
      var newx = (skew * 0.1); // obviously this would be variable depending on your liking
    
      // If the object corner is not on the ground (y == 0) then subtract from it's value,
      // otherwise add.
      var newy = (y > 0) ? (y - 10) : (y + 10);
    };
    

    在我的示例中,10 是更改 y 坐标的距离单位数量。这就是您的示例游戏的表现方式。希望我的意见有所帮助,

    里根

    【讨论】:

    • 这是我感兴趣的方向的一个良好开端。我只是不知道从哪里开始,所以谢谢。
    猜你喜欢
    • 2013-06-16
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 2014-12-01
    • 2018-02-04
    相关资源
    最近更新 更多