问题标签 [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.
javascript - HTML5 画布游戏错误
我一直在为大学项目设计游戏,我认为首先制作地图编辑器会很有趣,这样我最终可以使用视觉辅助工具制作地图,而不是将数字放入数组或 SQL 数据库中。
但无论如何,几乎一切都正常工作。几乎所有东西......我可以更改瓷砖和放置对象,唯一的问题是当我想通过根据地图上的位置将数组重置为 0 来清除对象时,它会出错并给我一个奇怪的错误。
这是我的游戏的链接:http: //81.98.176.230/silverpolis/game/canvas_test4.php
这里是代码,如果您更愿意查看此代码,我不知道哪个部分出了问题,所以我无法确定我需要向您展示的功能:
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 为中心屏幕中间。
有什么想法吗?也许我在这里有点混淆了我的一些代码?
html - 实现 HTML5 等距游戏的最佳方式?
你会说什么,使用画布或 webGL?
我在某处读到画布性能不是很好,因为目前它基于 DOM 或类似的东西。另一方面,webGL 还没有得到很好的支持。而且我猜它也更难学习。
游戏是“2.5”D - 它不需要 3D。但是 wegGL 可能会产生良好的效果,因为它是在显卡中处理的。如果我看到它确实提供了使用画布无法获得的优势(性能、效果等),我可以忍受它在浏览器中没有得到很好的支持这一事实。
我不介意更陡峭的学习曲线。重要的是游戏具有良好的可扩展性,最终表现良好,并且大多数功能都有可能实现。
希望能得到一些好的意见,在此先感谢!
c# - 等距屏幕映射问题
我知道关于等轴测地图的很多建议,但我已经阅读了其中的大部分内容并没有解决我的问题。为了更简单,我为 C# 重写了代码(此代码将在 Android 平台上使用)我需要将屏幕线转换为等距坐标。
在这里,我为我使用了 1:2 的 64x32 瓷砖,我使用此代码构建了菱形地图
我还使用全局锚点在这里滚动我的地图代码
主要问题是如何在鼠标下获得瓷砖哪个公式对我有用。
objective-c - CATransform3D 用于获取等轴测视图
好的,伙计们,在阅读了很多问题之后,我设法画了我的六边形网格,确实不是很好,但它有效,这就是我需要的。现在,我的下一步是在等轴测视图中获取此平面视图,类似于此地图:
http://www.issamtp.org/gnfGr.jpg
我希望方法是使用一个简单的 CAAffineTransform 或 CATransform3D,但我真的坚持这一点。有人能帮我吗?
2d - 如何将 xy 位置转换为等距平铺的 xy 平铺?
我可以根据绘制等距游戏世界的公式绘制我的地图。但是我怎样才能根据它在地图层 div 上的位置找到一个瓦片的 xy 呢?
为了清楚起见,我的瓷砖左侧样式是 1036px,顶部样式是 865px。根据那些css属性如何根据地图找到瓦片的x和y位置?
平铺宽度为 200,高度为 100。
非常感谢。
我的javascript代码是这样的:
所以 xpos 和 ypos 变量就是每个 tile 层的 css 位置。当我单击地图图层时,我想计算瓷砖的等距 xy 坐标。
javascript - HTML5 Canvas 中的平滑行走精灵
我正在画布(& js)中开发一个等距的 html5 游戏。我的网格由列 (x) 和行 (y) 组成。
目前我的玩家可以穿过地图,但他从一个坐标跳到另一个坐标。
我试图让他使用精灵动画以流畅的方式从一个瓷砖走到另一个瓷砖。但我不知道怎么做,也找不到任何关于这个机制的文章,所以我再次求助于你!
因此,如果您知道如何做到这一点,或者知道解释这一点的文章或教程,那就太好了!
提前致谢,
尼克·维尔海恩
更新:我现在用来行走我的播放器的代码
注意:我正在保存玩家移动的方向,以便显示正确的图像。
另外,我没有使用像 EaselJS 这样的库。原因很简单,几乎没有任何文档或示例,所以我必须自己弄清楚一切。
xna - 如何将规则角度转换为等角角度?
我目前正在开发一个等距游戏,我需要一些帮助来正确转换常规角度以使用等距缩放角度。我已经展示了一个粗略的例子,说明当放入等距透视图时,相同的角度是如何不同的。
基本上,如果我有一个以度数或弧度为单位的角度,我正在寻找一种方法将其转换为相同的角度,只是使用等距倾斜。任何帮助或正确方向的观点都会非常有帮助。
顺便说一句,我可能需要指出,当我使用像素艺术时,等距角不是标准的 30 度,而是 26.6 度。
cocos2d-iphone - 使用 cocos2d 在等距地图上对精灵进行 z 排序的最佳方法
经过几次头痛后,我发现CCSpriteBatchNode
与 cocos2d olny 一起使用允许将 z 顺序精灵作为孩子添加到其中(这很明显,现在我明白了..)
并且因为我必须将它们添加到显示列表中,如下所示..
我无法更改其他房屋之间单个令牌的 z 顺序...
它们将始终呈现在房屋上,直到我更改这些批处理节点的顺序
顺便说一句,我可以在一个大的单个批处理节点中“合并”所有精灵的艺术......这样做可以使用精灵的坐标来订购精灵
我有点坚持......有没有办法实现这一点,有不同的精灵 bacth 节点?或者可以以编程方式合并两个batchnodes?(或类似的东西)
我发现了KnightFight,LozArcher 在 github 上的一个非常有趣的开放项目。他使用CCSpriteFrame
andCCSprite
的setDisplayFrame
方法,而不是批处理节点...但我无法运行它,因为它似乎是 cocos2d 的旧版本(显然不工作使用 xcode 4)