草庐IT

Sprite-kit

全部标签

swift - 如何使用 SpriteKit 方法主体(位于 : CGPoint)?

我有一个游戏,在游戏过程中你的手指会四处移动,应该避免碰到一些障碍物。我知道如何使用碰撞,但我最近听说有一个名为body(at:point)的函数。我应该说我已经掩盖了我的障碍。因此,我无法使用contains(point)函数。我真的很想使用body(at:point)函数,否则我知道如何处理碰撞。我的一些代码:play_button=self.childNode(withName:"play_button")as!SKSpriteNodefortintouches{letfingerlocation=t.location(in:self)ifphysicsworld.body(at

ios - 仅向节点的边界添加碰撞,允许 Sprite 在节点内自由移动

我正在构建一个游戏,在这个游戏中,我在地下“挖掘”以使球掉落。是否有可能让这个球在它内部时与节点的边界发生碰撞。根据下图,我的目标是使用touchMoved绘制一条隧道,让球落入并与隧道表面碰撞。 最佳答案 我认为您应该使用隧道的两侧来定义SKShapeNodes,这样当球在隧道中时,它不在节点内。在您的示例图片中,您将有2个节点-每个黑色区域一个。然后设置你的碰撞参数,使球不能穿过形状 关于ios-仅向节点的边界添加碰撞,允许Sprite在节点内自由移动,我们在StackOverflo

swift - 如何在 spritekit swift 中制作一个旋转角度的正弦波?

我希望在我的游戏中有某种声波环绕屏幕。我可以制作直线的正弦曲线,但如何制作旋转20度的正弦曲线?那么例如从左下角到右上角?letpi=CGFloat.piletwave=Waves[0]letx=path.currentPoint.xletc=(2*pi)/(wave.Wavelength*30)leta=30*wave.Amplitudelety=a*sin(c*x)path.addLine(to:CGPoint(x:x+2,y:y)) 最佳答案 您可以使用2Béziercurves制作一个非常准确地近似于正弦波的UIBezier

ios - 如何在 Swift 中计算坐标

我一直在尝试获取以下代码以在横向模式下在iPhone模拟器的底部显示一个矩形:letsize=CGSize(width:100,height:10)letmyRect=SKShapeNode(rectOf:size)myRect.position=CGPoint(x:self.frame.midX,y:self.frame.maxY-50)myRect.strokeColor=SKColor(red:0.0/255.0,green:0.0/255.0,blue:200.0/255.0,alpha:1.0)myRect.lineWidth=4myRect.physicsBody=SKPh

ios - 如何注册点击屏幕以重新开始游戏

我需要的一切都在下面评论,我有一个功能,当我点击它时,游戏应该重新启动。重启功能可以自行运行,但我只希望它在用户点击屏幕后重启。如果您需要澄清代码的某些部分的作用,请在下面发表评论,请告诉我我做错了什么,谢谢!importSpriteKitimportGameplayKitclassGameScene:SKScene{varball=SKSpriteNode()varenemy=SKSpriteNode()varmain=SKSpriteNode()vartopLbl=SKLabelNode()varbtmLbl=SKLabelNode()varscore=[Int]()funcpau

swift - 播放声音文件时启动时出现白屏 SKAction

我正在尝试获取要在GameScene.swift文件中播放的背景声音文件。但是每当我这样做并调用run.SKAction时,屏幕都会变白并且我会听到很多静电噪音直到它崩溃。当我注释掉run.SKAction时,游戏正常开始。我尝试将文件格式更改为WAV、MP3、AAC、CAF。但同样的事情发生了。我检查了一下我是否拼错了什么,但我没有。它给我一条消息:“来自调试器的消息:由于内存问题而终止”重要说明:“waitForCompletion设置为TRUE它似乎工作正常,在配乐的开头有一点静态然后它正常播放。但是当“waitForCompletion”设置为FALSE时我得到白屏。我也有时会

ios - 如何在 SpriteKit 中创建一个有限的、可滚动的背景?

我希望在SpriteKit中有一个可滚动的背景。我尝试了一些other在线提供解决方案,但他们正在实现无限滚动背景,我无法根据我的需要调整代码。这里是一些示例代码,我必须尝试让背景移动(没有检测到到达背景的尽头)——但它非常不稳定,一点也不平滑。overridefunctouchesMoved(_touches:Set,withevent:UIEvent?){iflettouchLocation=touches.first?.location(in:self),letnode=nodes(at:touchLocation).first{ifnode.name!=nil{ifnode.n

swift - 无法更改 SKSpriteNode 的纹理

在我的游戏中,我正在创建一个具有特定纹理的Circle对象,但是例如,如果Circle撞到某堵墙,我希望它的纹理发生变化。不幸的是,由于某种原因这不起作用,我不知道为什么。这是我的Circle类代码:classCircle:SKNode,GKAgentDelegate{lettxtName="farblos"varnode:SKSpriteNode{letnode=SKSpriteNode(imageNamed:txtName)node.size=CGSize(width:30,height:30)node.name="circle"returnnode}letagent:GKAgen

swift - Audio Kit同步播放多个音频文件

我正在使用AudioKit开发一个小型音频音序器应用程序。我只需要播放4路音频。但是,我需要将它们完美同步地播放到样本级别。当我只使用两个音频文件运行测试时,我可以听到它们不同步。差异只是几个样本,但即使是一个样本的差异也会是一个问题。我目前正在使用路由到AKMixer对象的多个AKClipPlayer对象。我用这样的循环基础知识调用它:privatevarclipPlayers:[AKClipPlayer]=[]funcplay(){forplayerinclipPlayers{player.play()}}是否可以使用AudioKit实现多个音频文件的采样准确播放时间?

【Unity 踩坑系列】VScode的csproj文件路径失效more errors occurred. (This project is not supported in C# Dev Kit.)

1.问题描述在使用VScode配置Unity的开发环境时候遇到了以下的问题:在VScode打开Unity项目中的脚本时在ProjectOutPut里会报出一大堆csproj文件路径失效的报错[warning]Theprojectfile‘d:\Unity\Project\Unity.Services.Core.Configuration.csproj’isinunsupportedformat(forexample,atraditional.NETFrameworkproject).ItneedbeconvertedtonewSDKstyletoworkinC#DevKit.[error]Fa