Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在rpg中,在地图上指定边界的最佳方式是什么?[iOS]_Ios_Xcode5_Sprite Kit_Collision - Fatal编程技术网

在rpg中,在地图上指定边界的最佳方式是什么?[iOS]

在rpg中,在地图上指定边界的最佳方式是什么?[iOS],ios,xcode5,sprite-kit,collision,Ios,Xcode5,Sprite Kit,Collision,我在为我的城市创造边界的问题上有点困难。 我现在正在使用SpriteKit创建一个rpg,我已经为我的角色制作了一个简单的城镇,让他可以在上面走动。显然,现在他正在穿过所有的房子/水/栅栏,因为这只是一个背景图像 指定他无法穿过的区域的最佳方式是什么?(如果是这样,我想这是第二个子问题。有人能推荐我应该如何绘制我的图像吗?有没有什么工具可以让我把图像粘贴在上面,它会告诉我单击的位置的坐标?) 这是否意味着映射每个房屋的坐标并在其周围创建边界? 或者我应该创建每个房屋/围栏/水体作为节点吗?在房屋

我在为我的城市创造边界的问题上有点困难。 我现在正在使用SpriteKit创建一个rpg,我已经为我的角色制作了一个简单的城镇,让他可以在上面走动。显然,现在他正在穿过所有的房子/水/栅栏,因为这只是一个背景图像

指定他无法穿过的区域的最佳方式是什么?(如果是这样,我想这是第二个子问题。有人能推荐我应该如何绘制我的图像吗?有没有什么工具可以让我把图像粘贴在上面,它会告诉我单击的位置的坐标?)

这是否意味着映射每个房屋的坐标并在其周围创建边界?
或者我应该创建每个房屋/围栏/水体作为节点吗?

在房屋、墙壁等位置创建SKSpriteNodes

您可以将边界设置为:

SKSpriteNode boundary1 = [SKSpriteNode spriteNodeWithColor:[SKColor Black] size: CGSizeMake(0,0)];
boundary1.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize: CGSizeMake(boundary1 height,boundary1 width)];
boundary1.position = CGPointMake(boundary1 x loc, boundary1 y loc);

boundary1.categoryBitMask = boundaryCategory;
boundary1.collisionBitMask = mainPlayerCategory;
通过设置主要角色的身体与主要玩家碰撞,SpriteKit将自动确保玩家只能通过适当的区域


请确保玩家设置为与boundaryCategory冲突。

您是如何创建该城镇的地图的?您是否使用过任何工具或只是对其进行了编码?我已经用flash绘制了一张地图并导出了一个png文件。通过这样做,我是否应该限制每个场景的地图大小,因为它一次在屏幕上可能有太多节点?您可以拥有的节点数量没有限制。限制源于记忆。这只是一个超级通用的方式,以防止你的球员走过东西。在你不想让你的玩家走过的任何地方应用这个。