问题标签 [isometric]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2678 浏览

math - 等轴测投影:我的数学有什么问题?

我在等轴测投影中有一个数学问题。我正在阅读一篇文章:轴测投影 - 技术概述。对于等距投影部分,它给出了一个数学公式,用于将 x 部分的 3D 点转换为 2D 点,公式为:

但我也检查 wiki 的Isometric Projection所以我使用 wiki 给出的旋转矩阵,计算自己

beta由wiki定义(Y轴旋转角度,应该是45)。那我的数学有什么问题吗?或者关于等距投影有什么我不知道的吗?

0 投票
3 回答
8339 浏览

javascript - 带有半透明点击磁贴的 HTML/JS/CSS 等距网格

我正在尝试创建一个使用侧面“等距”视图和透明图块的网络应用程序/游戏。我可以使用一个 PHP 公式来显示它们(但不是很好),该公式只将每个 div(每个图块)设置为 position:absolute 并设置 top 和 left 参数。问题是我如何捕捉对瓷砖的点击,并让带有透明位的瓷砖点击到它下面的瓷砖。

我的问题的一个例子是http://stuff.adammw.homeip.net/other/fv/farmville_2.html

0 投票
4 回答
2707 浏览

javascript - 保存等距游戏平铺数据的最有效方法

我正在为支持 的快速浏览器开发等距游戏<canvas>,这非常有趣。为了保存每个图块的信息,我使用了一个二维数组,其中包含表示图块 ID 的数字,例如:

到目前为止效果很好,但现在我想使用这张图片中的高度和坡度: alt text http://harmen.no-ip.org/isometrictiles.png

对于每个图块,我需要保存它的图块 ID、高度和关于哪些角向上转动的信息。

我想出了一个关于所有四个角的按位表示的简单想法,如下所示:

我的问题是:为每个单元格保存这三个值的最有效方法是什么?是否可以将这三个值保存为一个整数?

0 投票
1 回答
1608 浏览

java - 等轴测视图中的类似鼠标的 RTS (LWJGL)

我真的对等轴测视图中的鼠标点击有疑问。简单地说,我有一张平面地图,而且,就像我说的,有一个等距视图中的相机。现在,当我在窗口中单击时,我想获取我在地图上单击的坐标。有什么帮助吗?

0 投票
1 回答
2783 浏览

3d - 使用正交矩阵将 3D 坐标转换为 2D 屏幕坐标

我有一个在 3D 空间中存储顶点的场景。我想做的是从等距角度正交渲染这些顶点。

在我所有的搜索中,显而易见的答案是使用像 OpenGL 等中的正交相机。

问题是我想从头开始写这篇文章以帮助我理解,所以我真的在寻找相机内部的理论。

如何在 3D 空间中获取任意点并使用正交矩阵从中获取屏幕坐标?

目前我有我的正交矩阵:

其中 r 为右,l 为左,t 为上,b 为下,f 为远,n 为近。

我将围绕 y 轴的旋转附加到此,然后将顶点坐标与该矩阵相乘,我相信该矩阵会将我的世界空间顶点转换为我的视图空间坐标...

但它仍然是一个 3D 矢量,所以我很好奇我如何推断 2D 屏幕坐标。

任何帮助都会很棒。

谢谢,乔恩

0 投票
1 回答
965 浏览

flash - 如何在 2d Racing 游戏中创建等距模拟?

如何将 2d 赛车游戏修改为等距?Flash + ActionScript3

截图

游戏完全是二维的。汽车按应有的方式移动,当它在地面行驶时,一切都很好。我添加了一个灰色坡道。现在汽车应该像箭头所示那样移动,产生 3d(等距)的错觉。

斜坡分为 3 个扇区

-首先,右侧的扇区(汽车当前所在的位置);

-第二,向左的扇区;

-第三,行业领先;

另外,我需要汽车,在速度很高的时候从坡道跳出来。我指的是旧的 scholl 游戏 Rock'n'Roll Racing(暴雪为 Sega 开发的游戏)

所以问题是

1)在坡道上行驶时,我应该如何改变汽车的角度和速度(velocityX 和velocityY) ?

2)我怎样才能开始跳出坡道?例如在摇滚赛车中?或者暴雪本质上是如何做到的?(也许是建议)

谢谢。

0 投票
1 回答
706 浏览

flash - 如何旋转等轴测视图?

我正在使用这个简单的嵌套循环创建等距图块的视图:

这很好地排列了瓷砖,但我需要以 90 度的间隔旋转地图。我不需要移动任何图块的 x,y 位置(因为这会破坏深度排序),而只需使用 2d 标签字符串数组选择不同的帧。我怎样才能做到这一点?

0 投票
2 回答
2982 浏览

flash - 是一个等距引擎,用于farmville、happy island等社交游戏

1) 是用于在社交游戏中渲染世界的等距引擎。如果是的话,你能指导我去哪里学习如何使用它。

2) 此外,房屋、建筑物、农场和其他对象是如何通过拖放放置的。有什么教程吗?

谢谢你。

0 投票
2 回答
2906 浏览

actionscript-3 - 用于构建 FarmVille 等社交游戏的 ActionScript 3 框架/引擎

目前游戏的架构是:

  • PHP + MySql 后端,
  • Flash 和 ActionScript 3 前端。

引擎/框架选择的主要标准是:

  1. 支持等轴测视图。
  2. 可重用性:目前的游戏开发应该很容易在未来构建类似的不同故事类型的社交游戏。
  3. 易于开发

已经研究过的东西:

  1. as3isolib - 用于等距渲染,但仅限于渲染部分。
  2. PushButton Engine - 开源引擎,基于组件
  3. 开放空间引擎 - 但我猜这仅适用于 Smart Fox Server。

还有什么好的推荐吗?

0 投票
2 回答
2959 浏览

javascript - 等距屏幕映射

我试图弄清楚当我有“坡道”和 +1 高度图块时如何在鼠标下获得正确的“活动”图块(见下图)。


示例等距图像

当我的世界是平的时,一切正常。一旦我添加了一个高度为 +1 的图块,以及一个返回到 +0 的坡道,我的屏幕 -> 地图例程仍然看起来好像一切都是“平坦的”。

在上图中,绿色的“坡道”是我要渲染和计算鼠标 -> 地图的真实图块,但是您在“下方”看到的蓝色图块是要计算的区域。因此,如果您将鼠标移动到任何深绿色区域,它就会认为您在另一个图块上。

这是我的地图渲染(非常简单)

这是我的鼠标-> 地图例程:

我有一种感觉,我必须重新开始并实现一个基于世界的地图系统,而不是一个简单的屏幕 -> 地图例程。

谢谢。