问题标签 [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 回答
443 浏览

javascript - HTML5 画布游戏错误

我一直在为大学项目设计游戏,我认为首先制作地图编辑器会很有趣,这样我最终可以使用视觉辅助工具制作地图,而不是将数字放入数组或 SQL 数据库中。

但无论如何,几乎一切都正常工作。几乎所有东西......我可以更改瓷砖和放置对象,唯一的问题是当我想通过根据地图上的位置将数组重置为 0 来清除对象时,它会出错并给我一个奇怪的错误。

这是我的游戏的链接:http: //81.98.176.230/silverpolis/game/canvas_test4.php

这里是代码,如果您更愿意查看此代码,我不知道哪个部分出了问题,所以我无法确定我需要向您展示的功能:

0 投票
1 回答
321 浏览

opengl - OpenGL 光照和定位

我很抱歉,因为这似乎是一个非常简单的问题,应该很明显,但似乎我一无所知。

我正在编写一个引擎并使用 Light 0 作为场景的“太阳”。我认为,理想情况下,太阳将是一个固定的光源,而不是一个向量,所以位置向量中的 w/fourth 索引应该是 1.0f。

我设置了场景的正交视点,然后将灯光设置在角色的位置(x/y 是平面地形的坐标,正 z 朝向相机并指示地形上的“高度”——场景是也为 x 轴上的等距视图旋转)。

角色始终位于屏幕中央——但我注意到,出于某种原因,灯光似乎照射在角色和世界坐标 0,0,0 之间的位置。角色离世界坐标 0,0,0 越远,光线越大/越宽。如果角色位于 0,0,0,则光线非常小。如果角色移动到类似 0,200,0 的位置,则光线非常大。

我只是想弄湿我的脚,并让一个“光”跟随角色(然后调整位置等,然后创建一个太阳)。

Graphics.BeginRenderingLayer = PushMatrix, EndRenderingLayer = PopMatrix Video.MapRenderingMode = Ortho Projection and Scene Rotation/Zoom CenterCamera 会转换到 X/Y/Z 的反面,这样角色现在就以 X/Y/Z 为中心屏幕中间。

有什么想法吗?也许我在这里有点混淆了我的一些代码?

0 投票
1 回答
1173 浏览

html - 实现 HTML5 等距游戏的最佳方式?

你会说什么,使用画布或 webGL?

我在某处读到画布性能不是很好,因为目前它基于 DOM 或类似的东西。另一方面,webGL 还没有得到很好的支持。而且我猜它也更难学习。

游戏是“2.5”D - 它不需要 3D。但是 wegGL 可能会产生良好的效果,因为它是在显卡中处理的。如果我看到它确实提供了使用画布无法获得的优势(性能、效果等),我可以忍受它在浏览器中没有得到很好的支持这一事实。

我不介意更陡峭的学习曲线。重要的是游戏具有良好的可扩展性,最终表现良好,并且大多数功能都有可能实现。

希望能得到一些好的意见,在此先感谢!

0 投票
1 回答
475 浏览

c# - 等距屏幕映射问题

我知道关于等轴测地图的很多建议,但我已经阅读了其中的大部分内容并没有解决我的问题。为了更简单,我为 C# 重写了代码(此代码将在 Android 平台上使用)我需要将屏幕线转换为等距坐标。

在这里,我为我使用了 1:2 的 64x32 瓷砖,我使用此代码构建了菱形地图

我还使用全局锚点在这里滚动我的地图代码

主要问题是如何在鼠标下获得瓷砖哪个公式对我有用。

0 投票
0 回答
301 浏览

objective-c - CATransform3D 用于获取等轴测视图

好的,伙计们,在阅读了很多问题之后,我设法画了我的六边形网格,确实不是很好,但它有效,这就是我需要的。现在,我的下一步是在等轴测视图中获取此平面视图,类似于此地图:

http://www.issamtp.org/gnfGr.jpg

我希望方法是使用一个简单的 CAAffineTransform 或 CATransform3D,但我真的坚持这一点。有人能帮我吗?

0 投票
1 回答
5791 浏览

2d - 如何将 xy 位置转换为等距平铺的 xy 平铺?

我可以根据绘制等距游戏世界的公式绘制我的地图。但是我怎样才能根据它在地图层 div 上的位置找到一个瓦片的 xy 呢?

为了清楚起见,我的瓷砖左侧样式是 1036px,顶部样式是 865px。根据那些css属性如何根据地图找到瓦片的x和y位置?

平铺宽度为 200,高度为 100。

非常感谢。


我的javascript代码是这样的:

所以 xpos 和 ypos 变量就是每个 tile 层的 css 位置。当我单击地图图层时,我想计算瓷砖的等距 xy 坐标。

0 投票
1 回答
1352 浏览

facebook - AS 3 isolib 游戏开发

我需要在 Facebook 上开发一个等距游戏,比如farmvillie、barnbuddy 等。我找到了几个框架作品(链接在这里)来开发它,但它们不像 isolib 那样简单。所以我决定使用 as3 isolib。谷歌项目在这里

但我找不到 as3 isolib 的 AZ 教程,除了基本的(添加场景、添加地图等)。我想要更多的东西。所以你能推荐我一个高级 as3 isolib 教程(我用谷歌搜索了 100 次)吗?

无论如何,如果您对除 isolib 之外的框架工作有建议来开发等距游戏,也请告诉我。

谢谢

0 投票
1 回答
9277 浏览

javascript - HTML5 Canvas 中的平滑行走精灵

我正在画布(& js)中开发一个等距的 html5 游戏。我的网格由列 (x) 和行 (y) 组成。

目前我的玩家可以穿过地图,但他从一个坐标跳到另一个坐标。

我试图让他使用精灵动画以流畅的方式从一个瓷砖走到另一个瓷砖。但我不知道怎么做,也找不到任何关于这个机制的文章,所以我再次求助于你!

因此,如果您知道如何做到这一点,或者知道解释这一点的文章或教程,那就太好了!

提前致谢,

尼克·维尔海恩

更新:我现在用来行走我的播放器的代码

注意:我正在保存玩家移动的方向,以便显示正确的图像。

另外,我没有使用像 EaselJS 这样的库。原因很简单,几乎没有任何文档或示例,所以我必须自己弄清楚一切。

0 投票
2 回答
1536 浏览

xna - 如何将规则角度转换为等角角度?

在此处输入图像描述

我目前正在开发一个等距游戏,我需要一些帮助来正确转换常规角度以使用等距缩放角度。我已经展示了一个粗略的例子,说明当放入等距透视图时,相同的角度是如何不同的。

基本上,如果我有一个以度数或弧度为单位的角度,我正在寻找一种方法将其转换为相同的角度,只是使用等距倾斜。任何帮助或正确方向的观点都会非常有帮助。

顺便说一句,我可能需要指出,当我使用像素艺术时,等距角不是标准的 30 度,而是 26.6 度。

0 投票
3 回答
2004 浏览

cocos2d-iphone - 使用 cocos2d 在等距地图上对精灵进行 z 排序的最佳方法

经过几次头痛后,我发现CCSpriteBatchNode与 cocos2d olny 一起使用允许将 z 顺序精灵作为孩子添加到其中(这很明显,现在我明白了..)

并且因为我必须将它们添加到显示列表中,如下所示..

我无法更改其他房屋之间单个令牌的 z 顺序...
它们将始终呈现在房屋上,直到我更改这些批处理节点的顺序

顺便说一句,我可以在一个大的单个批处理节点中“合并”所有精灵的艺术......这样做可以使用精灵的坐标来订购精灵

我有点坚持......有没有办法实现这一点,有不同的精灵 bacth 节点?或者可以以编程方式合并两个batchnodes?(或类似的东西)

我发现了KnightFight,LozArcher 在 github 上的一个非常有趣的开放项目。他使用CCSpriteFrameandCCSpritesetDisplayFrame方法,而不是批处理节点...但我无法运行它,因为它似乎是 cocos2d 的旧版本(显然不工作使用 xcode 4)