草庐IT

swift - 如何在 Sprite Kit 中将节点定位到圆周长上的随机点?

所以我需要从圆周上的随机点生成游戏敌人。这是我到目前为止的代码,感觉非常接近工作但不是:letenemy=SKShapeNode(circleOfRadius:5)funcenemyGenerator(){//takesanxvalueandcalculatesthecorrespondingycoordinateonthecircle.funcenemyYSpawnPosition(x:CGFloat)->CGFloat{returnsqrt(104006.25-(x*x))}//randomlyselectsanxvaluefromarangeofacceptablevalues.

ios - Sprite-kit 游戏生命周期、属性和全局变量?

在我的sprite-Kit游戏中,我的游戏经历了各种场景,我希望在这些场景中某些变量可用。见下图:所以标题屏幕加载了主游戏屏幕。当“波”结束时(所有目标完成或所有生命丢失),结束场景会显示一些统计数据。然后,如果玩家还剩生命,则再次加载主游戏,如果没有,则再次显示标题屏幕。我希望玩家的分数和剩余生命数在主游戏场景和最终场景中可用;应该在所有场景中保持高分。我为这些使用全局变量,而我的大多数变量是在类下定义的属性。我第一次必须这样做(对于我添加高分或多条生命之前的score属性)我在每个场景中使用了一个score属性,并在我为下一个场景做presentScene时在场景之间传递它,但这看

swift - 为什么我的节点在每个设备上的位置都不同?

好的,所以我一直在尝试在我的iPhone6s+和我的iPad2上放置一条线。这条线是在SKCamera中添加的(我不知道这是否会影响它)。这是该行的代码:varleftWall=SKSpriteNode()leftWall.size=CGSize(width:1,height:10000)leftWall.position=CGPoint(x:0,y:0)leftWall.color=UIColor.redleftWall.physicsBody=SKPhysicsBody(rectangleOf:CGSize(width:leftWall.size.width,height:left

swift - 如何让玩家在路径中 move 到另一边?

我希望当触摸开始时玩家(红色圆圈)move到圆形路径的另一侧。我已经让玩家跟随一条路径,但我还没有在互联网上找到我的问题的答案。overridefuncdidMoveToView(view:SKView){player=SKSpriteNode(imageNamed:"circulo")player.position=CGPoint(x:self.frame.width/2,y:self.frame.height/2-170)player.color=colorGrisplayer.colorBlendFactor=1player.size=CGSize(width:25,height

swift - 如何避免SpriteKit中的平滑效果?

我正在使用非常小的sprite,以创建具有像素化sprite的复古游戏。但是,当我更改Sprite的比例以使它们变大时,SpriteKit会平滑Sprite,这不是我想要的。有什么方法可以在我增加Sprite的比例时保持其像素化? 最佳答案 您可以使用纹理过滤模式.Nearest(默认为.Linear)。当纹理以其原始大小以外的大小绘制时,可以使用纹理过滤模式。SKTextureFilteringNearestEachpixelisdrawnusingthenearestpointinthetexture.Thismodeisfas

ios - 如何在 swift 和 sprite 工具包中使用 sprite 表?

标题说明了一切。我如何在swift和spritekit中使用sprite表?我搜索了谷歌、堆栈交换和苹果文档,但我无法弄清楚这一点。 最佳答案 在xcode7中,您可以使用Images.xcassets创建Sprite图集。点击Images.xcassets点击左下角的加号选择“新Sprite图集”然后您可以将所有图像拖放到图集中如果您使用适当的后缀(@2x和@3x)拖入所有三种图像尺寸,它会自动为您填充图像。然后要在代码中使用这些Assets,只需编写:letatlas=SKTextureAtlas(named:"Sprites"

swift - 从 Sprites UserData 中保存和读取信息

我正在尝试将一个值保存到sprite的用户数据中并能够读取它。这就是我所拥有的,由于某种原因,该值永远不会被保存并保持为零。importSpriteKitletframe=SKScene()funccreateSprite(){letsprite=SKSpriteNode()sprite.userData?.setValue("100",forKeyPath:"key")frame.addChild(sprite)}createSprite()forchildinframe.childrenwherechildisSKSpriteNode{print(child.userData?.v

ios - 检测 Sprite 纹理内的触摸而不是整个框架 iOS Swift SpriteKit?

我现在正在使用SpriteKit,我遇到了一个看似简单但在互联网上找不到任何问题的问题。我有三个形状像平行四边形的按钮,它们堆叠在一起,看起来像这样:Screenshotofbuttonsletbutton=SKSpriteNode(imageNamed:"playbutton")letleaderButton=SKSpriteNode(imageNamed:"leaderbutton")lethomeButton=SKSpriteNode(imageNamed:"homebutton")button.position=CGPoint(x:size.width/2,y:size.hei

swift - Sprite 怎么开始闪烁?

所以我创建了一个游戏,你可以点击球让它们跳起来。每次点击都会得到一分。为什么当我达到10点时我的Sprite开始闪烁。我认为它与update(timeInterval)方法有关。这可能是错误或错误的编码。importSpriteKitclassGameScene:SKScene{letbackgroundNode=SKSpriteNode(imageNamed:"redbackground")overridefuncdidMoveToView(view:SKView){backgroundNode.position=CGPoint(x:CGRectGetMidX(self.frame)

Swift Sprite Kit 开启触控功能

我在搞一个xcode项目,我试图让一个红球SKShapeNode在我触摸它时四处移动。我自己在触摸开始类中的源代码没有做到这一点。我的代码有什么缺陷,我需要做什么才能修复它。importSpriteKitclassGameScene:SKScene{//RectangleSkeletionsvarleftWallRect=CGRect(x:0,y:0,width:40,height:1000)varball=SKShapeNode(circleOfRadius:25);overridefuncdidMoveToView(view:SKView){//DeclaretheSpritesi