草庐IT

Spritekit

全部标签

ios - 在 SpriteKit 中缩放和滚动 SKNode

我正在SpriteKit上开发类似Scrabble的游戏,并且一直坚持缩放和滚动拼字板。首先让我解释一下游戏背后的工作:在我的GameScene上我有:一个名为GameBoardLayer(名为NAME_GAME_BOARD_LAYER)的SKNode子类包含以下子类:ASKNodesubclassforScrabbleBoardnamedNAME_BOARD.ASKNodesubclassforLettersTileRacknamedNAME_RACK.字母拼block是从拼block架上挑选出来的,并掉落在拼字游戏板上。这里的问题是,我需要模仿可以通过UIScrollView实现的

ios - 在 SpriteKit 中已经运行 Action 时停止 Action

我有一个太空游戏,我现在每天都在扩展它,但我遇到了一个我无法理解的问题。现在我为我的宇宙飞船添加了一个PowerUp,它给了它一个护盾。ShieldPowerUps的生成持续时间为37.5,范围为15。这对我来说是完美的。我多么想弄清楚(或被展示)我如何才能让这个盾牌只持续设定的秒数。现在它一直持续到它被击中,这是失去它的一种方式,但我也想在它上面有一个计时器。这是我的函数,它激活了与PowerUp碰撞时调用的Shield:funcactivateShield(){letshield1=SKTexture(imageNamed:"shield-1")letshield2=SKTextu

使用 spritekit 的 iPad 和 iPhone 游戏的 iOS 坐标

我正在尝试使用适用于iPhone和iPad的sprite工具包制作游戏。对于iPhone,我可以将场景大小设置为320x568并针对所有分辨率进行缩放,它工作正常。对于iPad,这也很好用。但由于iPad上的点分辨率为768x1024,我可以看到缩放伪像,而且图像也不清晰。所以我想将iPad的场景大小设置为768x1024。我的大部分游戏图像都是使用spritekit绘制的,而不是加载图像。所以当我设置新的场景大小时,图像看起来更小。在绘制图像时为图像指定正确尺寸的最佳方法是什么?我是否必须根据设备类型转换使用的每个维度和点? 最佳答案

ios - ins SpriteKit, "select"我手指移动时接触到的所有 Sprite

因此,我正在尝试学习SpriteKit,同时构建我认为是简单的益智游戏。我有不同颜色的SKSpriteNodes的5x5网格。我想要的是能够触摸一个节点,水平或垂直移动我的手指并检测我的手指触摸的所有节点,就像我正在“选择”它们一样。我试图做这样的事情,但它使应用程序崩溃了:-(void)touchesMoved:(NSSet*)toucheswithEvent:(UIEvent*)event{UITouch*touch=[touchesanyObject];CGPointlocation=[touchlocationInNode:self];SKSpriteNode*node=[se

ios - 影响子节点定位的 Spritekit 场景 anchor

我创建了我的SKScene子类,它设置了anchor,然后为世界添加了一个SKSpriteNode,世界有多个SKSpriteNode用于障碍物、玩家等。我也以我遇到的问题是,当我将场景的anchor设置为(0.5,0.5)时,我添加到世界的任何子节点的位置都从世界的中心开始。如何固定节点的位置,使position=(0,0)位于世界节点和添加到其中的任何子节点的左下角,而不是中心?@implementationLevelScene-(id)initWithSize:(CGSize)size{if(self=[superinitWithSize:size]){NSLog(@"width

ios - 从 SKscene (SpriteKit) 呈现 UIViewController

互联网上有几篇帖子询问如何正确组合SpriteKit和Storyboard/Interfacebuilder。特别是没有人能够从SKscene移动到所需的UIViewController。网上的解决方案都没有真正解决这个问题!真的不能这样做吗??如果是这样,那将是SpriteKit的一个重大限制...... 最佳答案 您不能直接从SKScene移动到另一个UIViewController。但是,SKScene已经包含在UIViewController中。您可以使用delegation将方法调用从场景传递到它的Controller。然

iOS 8 SpriteKit 框架向后兼容性

随着iOS8的发布,Apple添加了一些很棒的newfeatures使用SpriteKit框架。其中的亮点包括:OpenGLES着色器和光照使用SKFieldNode的物理场具有逐像素碰撞mask的物理体还有更多我的问题是,使用这些功能制作的游戏可以在iOS7上运行吗? 最佳答案 给出一个笼统的答案很简单。如果您查看SpriteKitFrameworkReference的任何类别,或与此相关的任何Apple框架,您会发现一个名为Availability的段落:类的每个方法和属性的每个描述都提到了这一点。如果您在代码中使用上述方法或属

ios - SpriteKit - SKSpriteNode 在 3.5 英寸和 4 英寸设备上的缩放比例不同

我也是游戏开发和SpriteKit的新手,正在使用它开发小游戏。不幸的是,我无法在两种设备上正确显示SKSpriteNode-3.5英寸和4英寸。我对Cocos2d有一点经验,所有定位的东西都是在非常方便的SpriteBuilder工具中完成的。在SpriteKit中,它应该以编程方式完成。问题是节点的规模在设备上不同,看一看:这里是MyScene.m中的定位代码:-(id)initWithSize:(CGSize)size{if(self=[superinitWithSize:size]){_screenRect=[[UIScreenmainScreen]bounds];_scree

ios - SpriteKit - 从非常大的图像 (640 x 6000) 创建滚动背景

我已成功将我的大图像(640x6000)切割成20block,但无法弄清楚使用这些图像的最佳方式是什么。我唯一的想法是创建20个sprite并以相同的移动Action将它们全部添加到屏幕上,使它们看起来像在滚动。但这不会只使用与将整个图像加载到内存中相同数量的内存吗?我已经查看了sprite工具包文档,但不明白它是如何完成的。有人能帮忙吗?谢谢 最佳答案 我建议跳过滚动操作并改用更新方法。还有一种方法可以同时只有几个背景部分。首先,您需要创建纹理图集并将所有这些图像添加到那里。其次,您需要在场景中创建两个属性:SKSpriteNod

ios - SpriteKit - 沿一个方向缩放

在SpriteKit中,如何让一个对象向一个方向生长?最终,我想在用户触摸的地方插入一个节点,并让线的每一端缩放,直到它碰到同一类别的另一个对象或碰到屏幕的边缘。我知道如何让它在一个轴上缩放,然后我可以在检测到一次碰撞后取消缩放,但我希望两个方向独立缩放,直到每个方向都发生碰撞。我是SpriteKit的新手,所以我的搜索可能使用了错误的术语,但我找不到任何相关的内容。在用户触摸的地方添加“墙”的代码-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{for(UITouch*touchintouches){CGPoin