问题标签 [jstilemap]

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 回答
2955 浏览

ios - 如何快速使用 JSTileMap

你能JSTileMap在swift中使用吗,如果是,你如何使用它。如果我不能快速使用它,或者它太有问题,那么我还有什么可以用于 .tmx 地图的。注意,我正在使用精灵套件

0 投票
2 回答
302 浏览

ios - SpriteKit 中的永远滚动地面

我正在构建一个永远滚动的游戏。地面有一些洞,当玩家掉入洞中时游戏结束。我可以滚动背景。但我无法滚动具有 PhysicsBody 的“Ground”(玩家可以站立)。

我尝试了两种方法,就像这样。

1) 使用 JSTilemap 滚动 TileMap 这使得游戏运行如此缓慢,并且它不会永远滚动。

2) 从地面图像文件滚动 SpritNode。当我使用 [SKPhysicsBody bodyWithTexture] 时出现错误“PhysicsBody:无法创建物理体”。

哪种方式更好?并且,没有别的办法了吗?

谢谢,

0 投票
2 回答
317 浏览

objective-c - JS TileMap iOS 8 和快速、难以理解的存档?

我已经为我的 spritekit 游戏桥接了 JS TileMap。我在我的项目中放了一个 tmx 文件,我正在尝试初始化一个 JSTileMap 对象

我得到这个错误

2014-11-15 17:43:03.428 MyGame[5726:1901295] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'* -[NSKeyedUnarchiver initForReadingWithData:]:无法理解的存档(0x3c、0x3f、0x78、0x6d、0x6c , 0x20, 0x76, 0x65)' *** 第一次抛出调用堆栈:(

会不会是找不到文件?我注意到如果我将文件名更改为不存在的东西,我会得到同样的错误..

这是我的 tmx 文件的内容

我已经尝试将其编辑为just,但它仍然会引发该错误。我确保包含 libz.dylib

我究竟做错了什么?

0 投票
0 回答
326 浏览

swift - 在 spritekit/swift 中更新 jstilemap tilemap

一般来说,我对 spritekit/jstilemap/programming 还是很陌生。

我正在构建一个带有两个使用视差垂直滚动的瓷砖地图的赛车游戏。我想知道是否可以更新 tilemap 而不必删除当前的 tilemap 并创建一个新的?

这基本上就是我现在正在做的。创建两个瓷砖地图:

并在更新中找到名为 tilemap 的节点。如果它们足够低,请将它们向下移动并弹起。然后,如果该地图已被查看 4 次,则通过创建一个全新的地图然后删除旧地图来使用新地图更新地图。这可行,但在加载新地图时会产生障碍。

0 投票
1 回答
96 浏览

objective-c - JSTileMap 如何转换多边形点

我正在尝试将平铺地图中的多边形对象变成物理体。

我不知道如何阅读以下行并将其转换为 3 个 CGPoint 值:

我正在使用 JSTileMap 解析 TMX 地图,但在文档中找不到任何内容来执行此操作。

任何帮助表示赞赏!

0 投票
1 回答
723 浏览

objective-c - SpriteKit 和 JSTileMap

我很难理解JSTileMap如何与 SpriteKit 和 Tiled 一起使用。

该问题与像素和点有关,也与使用基于屏幕比例因子的 JSTileMap 加载适当的图块集有关。

项目中的文件结构

在我的项目中,有一些文件具有以下结构,这代表了我的低分辨率地图(1024x768px 和 32x32px 瓷砖):

  • 名为 SD 的文件夹
    • 级别 1.tmx
    • 文件夹 tmx-levels-sd.atlasc
      • tmx-levels-sd.1.png
      • tmx-levels-sd.plist

在这种情况下,当我在非视网膜模拟器上加载level-1.tmx时,一切都已正确定位。当我在视网膜模拟器上运行相同的配置时,一切都很好,但瓷砖被缩放了。因为质量受到影响。 那么,如何在需要的时候加载高分辨率的瓦片集呢?

另一种解决方案

我还尝试通过为每个级别使用两个版本的地图(低分辨率和高分辨率)来解决这个问题。这实际上是我试图避免但仍然可以接受的:

对于这种情况,我有这样的文件结构(地图是 2048x1536 和 64x64px 瓷砖):

  • 名为 SD 的文件夹
    • 级别 1.tmx
    • 文件夹 tmx-levels-sd.atlasc
      • tmx-levels-sd.1.png
      • tmx-levels-sd.plist
  • 名为 HD 的文件夹
    • 级别 1-hd.tmx
    • 文件夹 tmx-levels-hd.atlasc
      • tmx-levels-hd.1.png
      • tmx-levels-hd.plist

我猜那张大小为 2048x1536 且瓦片大小加倍的地图适合我的地图的高分辨率版本?同样如您所见,我的项目中根本没有@2x 瓦片集(我猜我们不能在Tiled 编辑器和JSTileMap 中使用@2x 后缀?)。

这种配置的问题是一切都被改变了(位置和瓷砖尺寸加倍)。JSTileMap 可能适用于点,平铺像素,最重要的是,有一个已知的与纹理图集相关的 iPad 模拟器错误,这让我很难理解导致高分辨率地图问题的原因。

有人可以澄清这些关于完全使用 JSTileMap、SpriteKit 和 Tiled 的事情吗?谢谢!

0 投票
1 回答
451 浏览

ios - 如何使用JSTileMap swift从触摸中获取最近的图块

我刚刚创建了一个在用户触摸位置创建对象的函数,但我希望它根据我的平铺地图自动与平铺的中心对齐。

现在,我只能将对象放置在我的触摸位置,而不是自动将其重定向到最近的图块。

http://puu.sh/ggxOG/2785a2eeca.png(这就是我的瓷砖看起来像 32x32 的样子)

JSTileMap 函数

0 投票
1 回答
54 浏览

ios - SKScene 中的 SKNodes 朝着错误的方向移动

我正在沿 x 轴执行一维运动。

物体在移动,但方向错误

移动场景的代码

0 投票
0 回答
72 浏览

swift - 创建 JSTileMap 后更新瓦片

我正在加载一个大小为 32x32 的 TMX 文件,我希望能够在创建后控制从 JSTileMap 生成的精灵的大小和图像。

我可以更改它们的大小,但我无法获得加载适当图像的平铺图像。

如果有人知道如何编辑 JSTileMap 的代码,以便它可以加载我的图像的 2 倍,那也可以。

创建后我用来检索这些图块的方法

0 投票
1 回答
193 浏览

swift - 如何以编程方式删除 JSTileMap 中的块

我目前正在使用 JSTileMap 和 Swift。我希望我的球员击球并让球破门。有谁知道如何做到这一点?另外,我怎样才能动画这个块的破坏?这是我的代码:`

} `

目前,当我运行我的应用程序时,我的播放器可以向前跑和跳跃。他会击中障碍,但没有任何反应。我已经尝试了一切。也许块ID可以被另一个替换?任何见解将不胜感激。谢谢!