问题标签 [sktilemapnode]

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 投票
0 回答
200 浏览

swift - 如何在 swift 中正确复制 SKTileMapNode

当我loop在节点上运行时,一切正常,节点移动正确。但是当我在到达屏幕左边框(中途)next时对动作中断运行循环时。next我认为副本有问题。谢谢!

0 投票
1 回答
165 浏览

sprite-kit - SKTileMapNode 像素到像素对齐

我正在使用 Apple 的新 SKTileMapNode 开发瓷砖地图游戏。我的图块上的像素与手机显示屏上的像素不匹配。我的缩放模式设置为 .resizeFill。我的图块大小正确标记为 64x64,并且每个图块的纹理图像大小正确。 注意水平线和垂直线,尤其是在树干附近

我使用的是附加图像中灰色圆圈的子相机。我相信相机会创建正在使用的屏幕尺寸的像素到像素视图并匹配分辨率,但我不确定我是否可以相信这一点。我怎样才能让我的像素正确对齐以避免这种情况。

0 投票
1 回答
317 浏览

swift - 1 个大的 sktilemapnode 或更小的 sktilemapnode

我将在我的 2d iOS 平台游戏中使用 sktilemapnodes。什么更好或更有效?

使用作为整个关卡的单一大小的 sktilemapnode 或将区域分成多个 sktilemap 节点。

示例:我有 3 层背景,将用于视差背景效果。

第一层(最靠后)只是一个渐变的天空。我将它分解为 512x512 像素的图块。我只有 8 个不同的瓷砖可以用作 1x8 瓷砖网格。然后我可以向左/向右或向上/向下继续这种模式,以使天空尽可能大。

问题:我的问题是我是否应该为整个天空使用 1 个瓦片地图节点,或者是否应该将其分解为可重复的更小块(如 1x8 网格)。如果我把它分成更小的块,我不需要它那么大,并且当我的游戏中相机移动时,我可以移动这些块。

我想知道这是否会以这种方式消耗更少的资源。

第二层是丘陵。我有大约 8 个不同的瓷砖,每个瓷砖都是 128x64 像素。我可以根据自己的喜好将它们排列成可重复的模式。所以我可以再一次拥有一个 tilemapnode,它是我可以重复的图案大小,我可以创建多个节点,或者我可以在 1 个节点中创建整个地图。

第 3 层略有不同,因为它基本上是包含 27 个 512x512 像素图块的树木图案图像。9x3 网格。但同样,我可以使用 1 个节点或多个节点。

我只关心效率。什么会为我带来最大的收益,这样我就可以有空间处理其他游戏对象。这只是你知道的背景......

使用 Tilemapnode,我不确定是否每个周期都没有处理不可见的图块,或者我是否需要手动进行某种检查。我想选择在某些级别上拥有大量地图。我是使用 sktilemapnodes 的新手,所以我试图弄清楚如何以最有效的方式使用它们。

0 投票
2 回答
329 浏览

ios - SpriteKit sktilemapnode 垂直线故障

我正在制作一个 2d 平台游戏,我决定使用多个 tilemapnodes 作为我的背景。即使使用 1 个瓷砖地图,当我在屏幕上移动播放器时,这些垂直或水平线也会出现和消失。见下图:

在此处输入图像描述

我的瓷砖是 256x256,我将它们存储在一个瓷砖集 sks 文件中。不完全确定我为什么会得到这个或如何摆脱这个,这很烦人。想知道其他人是否也遇到过这种情况。

考虑不使用瓦片地图,但如果可以的话,我更愿意使用它们。

感谢您对此的任何帮助!!!

0 投票
1 回答
160 浏览

swift3 - Spritekit Hexagonal map:SKAction 中的瓦片检测。

我问这个问题是因为我没有找到任何解决此类问题的方法。事实上,十六进制地图支持并不是很流行。

我正在使用 SpriteKit 框架制作游戏。我将 SktileMapNode 与六边形地图一起使用,其中包含 1 组 4 组图块。

playernode 在每个图块上移动,我不希望当他在特定图块上移动时可以触发某些事件(打印,函数,Sktransition),但目前我只停留在检测这些图块上。

我设置了用户数据(作为 bool )并将它们应用到代码中,但没有发生任何事情,即使在磁贴上发生了触摸事件。

只有“不同的瓦片”输出被触发。

欢迎任何帮助。

图片示例链接:我想要的东西

0 投票
1 回答
362 浏览

ios - SpriteKit 平台游戏中的性能问题问题

我第一次在为 iOS 开发平台游戏时遇到了一些滞后。我对开发比较陌生,所以我假设我已经犯了可能减慢游戏速度的错误。

我只是有几个问题让我感到困惑。

  1. 我正在构建一个平台游戏,所以有时我会在场景相机视图之外有节点。如果不是,我应该遍历所有节点并将它们从场景中删除吗?这会有助于提高性能,还是 SpriteKit 会自动使用 skcameranode 执行此操作?

  2. 我想营造一种开放世界的感觉,所以有些关卡可能很大。我有很多 128x128 的图块,我将它们与 tilemapnodes 一起用于前景。玩家将与之交互的地面、泥土、平台等东西。我还有 5 层视差背景,它们是 512x512 瓦片,每层都有自己的瓦片图节点。我的问题是关于这些巨大的水平。我应该把这些tilemapnodes分成几个部分吗?这会帮助你的表现吗?

  3. 最后一个问题,所以 128x128 的图块实际上是 256x256。我只是缩小了tilemapnode。我为前景创建了一个巨大的 tilemapnode,并用这个地图节点制作了地面和地板以及几座小山。当我将播放器移动到节点密集的区域时,它会延迟到 45-55 fps。当远离这个密集区域时,它会回到 60 fps;让我相信 SpriteKit 处理问题 1 的事情。无论如何,与其创建 256x256 的图像并在需要时按比例缩小,不如使用缩放选项创建不同尺寸的单独图像有助于提高性能?(如果重要的话,我对每张图像都使用 1,2,3x 图像)

谢谢你的帮助。

0 投票
1 回答
1206 浏览

ios - 在 SpriteKit 中生成随机地形

首先我想提一下,我对游戏或 SpriteKit 框架没有深入的了解(但是,我有很好的编程技能)。

我想为 iPhone 和 iPad 创建一个 2D 游戏。到目前为止,我知道我必须使用 SpriteKit。不过,这款游戏最重要的还是地形。我应该能够动态生成它,所以它会有曲线(但不是尖峰边缘),就像附加图像中的黑线一样。此外,我希望将地面的下部分为两个单独的层(一层薄薄的绿色模拟草,其余的一些棕色模拟泥土),但这是一件好事。

另外我想知道当某物(如炮弹)碰到它时,我怎样才能“爆炸”一小部分地面。

有人可以解释或指导我如何实现这一目标吗?

随机生成的地面示例

谢谢!

0 投票
1 回答
889 浏览

swift - 如何在 SpriteKit 中将磁贴更改为另一个(或空白)?

所以我试图在 Xcode 8.3.3 中使用一个 tile map 节点来编写一个国际象棋应用程序,一个 8x8 tile map 包含一个块或每个 tile 的空白空间(在 GameScene.sks 中制作,而不是使用代码)。我想要做的是改变瓷砖。例如,如果有人移动一个棋子,我想将起始空间从一个棋子更改为一个空格,然后将结束格从一个空格更改为一个棋子。瓦片组位于一个名为 pieces.sks 的文件中,我在 File->New->File->SpriteKit Tile Set 中创建了该文件。这是我到目前为止在 GameScene.swift 中的内容(我取出了与问题无关的内容),目标是在代码运行时将单个正方形更改为白色主教:

所以pieces.setTileGroup 让我感到困惑有几个原因,例如“forColumn”而不是简单的“column”。我从 Apple Developer Documentation 中得到了它,并且不确定这是做我想做的正确的事情。backgroundGroup(在代码中加星标)参数是一个占位符。我不知道如何填写那里的白人主教。谢谢!

0 投票
1 回答
667 浏览

swift - SpriteKit 瓷砖地图不加载瓷砖

我已经工作了好几天了。我在关卡编辑器中创建了一个平铺地图。它可以很好地加载到我的代码中,但是当我遍历图块时,它们都没有显示为具有定义。不知道我做错了什么。

一切运行良好,但它不会加载磁贴定义。

SKTileNode

瓦片集 等级

`

0 投票
0 回答
352 浏览

swift - 了解 SKTileMaps 中的六边形自动映射

我已经阅读了 Ray Wenderliche 关于 SKTileMaps 的教程,并且我对创建基于十六进制的东西很感兴趣。我一直在为瓷砖设置一些简单的图形,但我一直无法弄清楚 Hex 的自动映射意味着什么。对于方形瓷砖,从教程中很容易理解,但 Hex 的变化让我大吃一惊。有人有任何见解或例子吗?这些都是图像。我不确定一个完整的图块集会是什么样子,因此我在绘制它时遇到了麻烦。我试过查看 SKTileGroupRules 的苹果文档,但它也缺乏关于这个细节的信息。

任何帮助将不胜感激,谢谢!

在此处输入图像描述