草庐IT

Sprite-Kit

全部标签

ios - 请在 Apple SpriteKit 示例代码中解释 uint32_t 和 0x1 << 0

我在苹果的SpriteKit示例代码中找到了几行staticconstuint32_tmissileCategory=0x1我知道什么staticconst是,但什么是uint32_t什么是0x1意思是?是某种十六进制吗? 最佳答案 是bitwiseleftshift(乘以2)运算符。与*1相同所以等效语句是:staticconstuint32_tmissileCategory=0x1;我在这方面写了更多here.例如:0x1会返回0x10.看它的二进制:00000001十进制这意味着1*2*2*2*2或1*2^4因为这是uint3

ios - SKTextureAtlas如何按顺序加载纹理

我使用SKTextureAtlas(.atlas文件夹)来存储我正在使用的动画的帧。我已经对帧进行了编号,例如frame.1.png、frame.2.png等-总共有10个帧。我注意到我的动画看起来很糟糕,尽管在我的图形程序中预览的帧看起来很棒。我NSLoged出来,发现它正在以随机顺序加载图集!我假设它至少会遵循捆绑文件顺序。如何在不自己对数组进行排序的情况下使用捆绑订单。另外,我是将@2x图像与其余图像放在一起,还是创建一个单独的图集?SKTextureAtlas*sleighAtlas=[SKTextureAtlasatlasNamed:@"sleigh"];NSArray*te

ios - 何时在 xCode 6.4 中将 didMoveToView 或 initWithSize 与 SpriteKit 一起使用

自从xCode更新到6.0版本后,“GameScene”(创建的默认场景)中SpriteKit的默认方法更改为:-(void)didMoveToView:(SKView*)view{/*Scenesetupinhere*/}相对于旧方法:-(id)initWithSize:(CGSize)size{if(self=[superinitWithSize:size]{/*Scenesetupinhere*/}}我知道新方法(与ViewController中的更改一样)用于帮助管理xCode6中新增的.sks文件的导入。但是,我很好奇我是否不想这样做使用新的“Storyboard”类型格式即

ios - Sprite Kit 中的单个粒子和物理

我是Stackoverflow的长期用户,但第一次发帖。我的问题看似简单,有没有办法让发射器的粒子与场景中的物理Sprite相互作用?(例如,如果我在下雨时使用粒子,我想让它从一个拿着雨伞的人的Sprite上弹跳或颠簸。一定有办法,但我没有看到很多关于添加物理的文档到单个粒子。有什么想法吗?谢谢! 最佳答案 没有。没有办法让SpriteKit的内置粒子与物理体相互作用。您可以控制的每个粒子属性都是SKEmitterNode的属性,它没有设置粒子物理行为的属性。事实上,粒子被设计得非常轻,因此您可以在SpriteKit支持的任何硬件上

ios - 如何让 Sprite 在cocos2d中以正弦曲线运动?

我有一个Sprite(例如纸飞机)。我想让它像下图一样移动。我可以使用很多MoveTo和RotateByAction来按点定义路径,但这对我来说似乎是个坏主意。如何实现? 最佳答案 我认为发布一个答案可能会很好,该答案显示了如果您对sprite有明确的控制,更新将如何工作的基础知识。我不确定您使用的是Cocos2d还是Cocos2d-X,但该技术适用于任何一种情况。代码是使用Cocos2d-x的C++。想法是,根据时间,您(手动)更新Sprite的位置。Sprite在任何时候的位置都由动画开始后的秒数决定。该线名义上遵循从(x0,y

ios - 为 iOS SpriteKit 游戏播放电机音效... AVAudioPlayer vs SKAction vs?

我正在使用SpriteKit开发一款驾驶游戏,但在引擎音效方面遇到了问题。我想要两种不同的引擎声音。一种用于throttle按钮被按下时,一种用于throttle按钮未被按下时。游戏进行时,两种声音之一将不断播放。什么是最好的方法?我的声音文件应该非常短(0.10秒或更短)并且循环播放,还是应该相当长并且只是打开和关闭?我应该使用SKAction来播放声音还是使用AVAudioPlayer或其他什么?我曾尝试使用AVAudioPlayer但每次我暂停并播放播放器(打开或关闭throttle)时,游戏的帧率都会暂时下降。感谢您的帮助! 最佳答案

ios - Xcode 5 SpriteKit 粒子发射器未出现在编辑器中

可能是非常简单的问题,但是......在这种情况下,选择.sks文件时是否发现其他人闪闪发光,效果不会出现在编辑器中。有什么明显的我想念的吗? 最佳答案 这是一个旧帖子,但我最近遇到了同样的问题。我通过移动到“版本编辑器”然后使用主工具栏右上角的编辑器选择器回到“标准编辑器”来解决这个问题。这将重新启动粒子发射器模拟。 关于ios-Xcode5SpriteKit粒子发射器未出现在编辑器中,我们在StackOverflow上找到一个类似的问题: https://

ios - 有没有办法检测 2 个 SKSpriteNode 之间的碰撞但允许它们重叠

我认为没有办法做到这一点,但是有没有办法检测2个SKSpriteNode何时相互交叉,但仍然允许它们重叠,所以它们实际上不会相互反弹?我知道我可以在没有物理体的情况下只使用1,然后编写一些代码来检查它们的坐标,但我想我可能在SpriteKit中遗漏了一些我可以用SK方法检测到的东西。 最佳答案 您可以使用SKPhysicsWorld对象的contactDelegate属性://insideyourheaderfiletypedefNS_OPTIONS(NSUInteger,CollisionCategory){categoryOne

iOS - bodyWithPolygonFromPath : Body is the same as the path but collisions are not working properly

首先,我要感谢这个网站上的每一位用户,因为我总是在这里寻找解决方案,而且非常有帮助!我正在尝试使用SpriteKit制作Xonix、Bix或Jezzball之类的游戏。无论如何,我有一个球在墙上弹跳,我试图在它不能去的地方制造障碍,这些障碍是由CGPathref制造的(用户通过它的Action制造它)我正在使用bodyWithPolygonFromPath创建skspritenode的physicsbody,它可以工作,但并非总是如此。我已经下载了YMCPhysicsDebugger来查看body的内容,在任何情况下都很好,但是我看到当我在CGPath上有超过4个点时,球不会与整个bo

ios - Sprite Kit 场景编辑器 GameScene.sks 场景宽高

我正在使用spritekit场景构建器构建我的场景(在xcode7ios9中创建项目时也称为GameScene.sks文件)。SpriteKit仅在设置屏幕高度和宽度时使用像素值。我的问题是:如果我将像素值设置为iphone6的像素值,游戏对于ipad和iphone6+来说会不会太小?为什么没有适合设备屏幕的选项?我应该怎么做才能避免这种情况? 最佳答案 像素密度首先,场景的大小是以Points而不是Pixels定义的。让我们看看支持iOS9的设备是如何处理这个问题的:1point=1x1pixel:iPad2,iPadmini1p