草庐IT

Sprite-kit

全部标签

ios - SKSpriteNode zPosition绘图?

我正在尝试创建许多相互重叠和隐藏的Sprite。classBubbleNode:SKSpriteNode{init(){lettexture=SKTexture(imageNamed:"body")super.init(texture:texture,color:.clear,size:texture.size())leteye=SKSpriteNode(imageNamed:"eye")eye.zPosition=1eye.position=CGPoint(x:-20,y:0)leteye_right=eye.copy()as!SKSpriteNodeeye_right.positi

swift - 以随机间隔无限期地调用函数

制作Swift游戏。尝试以0-3秒之间的随机时间间隔永远激活功能“fireFrisbee”。iphone模拟显示白屏。该功能似乎只激活一次(只听到一个飞盘发射声音)letaction=SKAction.sequence([SKAction.run(fireFrisbee),SKAction.wait(forDuration:TimeInterval(arc4random_uniform(3)))])run(SKAction.repeatForever(action))我在overridefuncdidMove(toview:SKView){下面有这行代码 最

ios - SKAction播放音效不是从头开始的

我不想从mp3文件的开头播放声音,而是从开始后14秒开始播放。我有以下声音播放代码,但我没有成功找到解决方案:iflettextAudio=textAudio{letwait=SKAction.wait(forDuration:0.1)letplay=SKAction.play()ifview.scene!==scene02{//play14safterbegining}textAudio.run(SKAction.sequence([wait,play]))} 最佳答案 您可以使用AVAudioPlayer和currentTime

swift - SKPhysicsContact 未检测到类别位掩码碰撞

所以我下面有我的“Floor.swift”类,它基本上是一堆墙。我有来自屏幕顶部的对象,一旦Floor和SKSpriteNodes发生碰撞,我希望SKSpriteNode被移除。下面是我的Floor类。importFoundationimportSpriteKitclassFloor:SKNode{overrideinit(){super.init()letleftWall=SKSpriteNode(color:UIColor.brown,size:CGSize(width:5,height:50))leftWall.position=CGPoint(x:0,y:50)leftWall

swift - iOS – ARKit 节点在 100 米后消失

我目前正在开发ARKit(SpriteKit)应用程序。我注意到,如果我将一个节点放在100米处,该节点会显示得很好,但如果我将它设置为101米或更远,它就不会显示.这是距离限制吗?vartranslation=matrix_identity_float4x4translation.columns.3.x=1translation.columns.3.y=1translation.columns.3.z=-100lettransform=simd_mul(currentFrame.camera.transform,translation)letanchor=ARAnchor(name:

ios - SpriteKit SKScene size.width 说 1024 docs 说它应该是 768

我将应用程序设置为仅纵向。当我在初始SKScene上println(self.size.width)时,它会给我1024。文档说“所以,场景初始化为1024的高度和768的宽度......”这里:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.html.为什么我的宽度是1024?宽度是完全基于手机的旋转还是始终相同? 最佳答案 是的,宽度可以基于设备的方向,但如果您只

ios - arc4random 和 arm64 与 swift

这个问题在这里已经有了答案:SwiftUIColorinitializer-compilererroronlywhentargetingiPhone5s(2个答案)关闭8年前。我正在尝试在sprite工具包中创建一个生成随机颜色的函数。这是我使用的代码:varhue=Float(arc4random()%256)/256.0;varsaturation=Float(arc4random()%128)/256.0+0.5;varbrightness=Float(arc4random()%128)/256.0+0.5;self.color=UIColor(hue:hue,saturatio

position - SKSpriteNode 上的 CGPoint x 无法正常工作(一半的节点超出屏幕)

我实际上正在使用SwiftSpriteKit开发游戏。我设置了一个SKSpriteNode的位置:skPart1.position=CGPointMake(0,100)所以节点应该从最左边的窗口边缘开始。|-------------------------||-------------------------||-------------------------||-------------------------||==========|--------------||==========|--------------||==========|--------------|但实际上我

ios - SpriteKit 中的平滑 Sprite 运动

您好,我正在使用SpriteKit在Swift中制作游戏,我想知道是否有办法让Sprite平滑移动。目前我在SKAction中使用moveTo方法,Sprite会在设定的时间段内到达目标位置——这意味着如果位置较远,Sprite会更快到达那里。我想知道是否有一种可靠的方法可以让Sprite加速到最大设定速度,然后在到达该位置时减速。感谢所有帮助。 最佳答案 使用勾股定理根据距离获得正确的持续时间以获得所需的速度。看这里:https://stackoverflow.com/a/19126642/431271就最后的减速而言,你可以像这

ios - 如何避免在 SpriteKit 中传递 currentTime?

我在开发我的应用程序时发现,我的一些节点需要访问传递给更新方法的currentTime以实现业务逻辑。不断地将this作为参数传递给所有可能需要它的初始化程序和方法似乎很麻烦。我想知道其他开发人员可能对这个问题有什么解决方案(是否有任何标准模式)。访问系统时间是一个选项,但可能会有一些开销,并且每次调用时都会有所不同。也许可以使用全局变量,但我想知道是否存在任何线程问题或在闭包中使用它的问题。选项? 最佳答案 好吧,我想你可以创建某种全局变量,例如:staticvar_currentTime:CFTimeInterval=0然后在您