我在隐藏和显示SKSpriteNode时遇到问题。但是,我确信使用hidden=true会隐藏可见性。我想要做的是在按下标题时显示图像按钮,并在按下标题以外的其他地方时隐藏图像按钮。我有下面的示例代码。我很想听听你的意见。startSprite.position=CGPoint(x:self.size.width*0.5,y:self.size.height*0.5+startSprite.size.height)self.addChild(startSprite)startSprite.zPosition=3startSprite.hidden=truestartSprite.nam
我正在使用以下代码为游戏中的玩家生成随机图像。varplayerTexture=[SKTexture]()playerTexture.append(SKTexture(imageNamed:“red”))playerTexture.append(SKTexture(imageNamed:“blue”))playerTexture.append(SKTexture(imageNamed:“green”))letrand=Int(arc4random_uniform(UInt32(playerTexture.count)))letchosenColor=playerTexture[rand
我有一个名为“Ghost”的SKSpritenode,我想在图像外部添加一个脉冲外观。但是我收到一条错误消息,说它没有中心,我不确定如何解决这个问题,请帮忙。funcaddPulse(){letpulse=Pulsing(numberOfPulses:.infinity,radius:110,position:Ghost.center)pulse.animationDuration=1.0pulse.backgroundColor=UIColor.blue.cgColorself.view.layer.insertSublayer(pulse,below:Ghost.layer)}
我已经搜索了很多,但找不到任何有用的东西。我正在使用Swift3在SpriteKit中创建游戏。SpriteNodes在屏幕的右侧生成,并使用SKActions移动到屏幕的左侧,重复此过程。我需要一种方法,当SpriteNode通过我的玩家(在场景中间)时,分数会上升1。FollowingBlock从右到左移动我的敌人角色。funccreateEnemyBird(){//CreateEnemyBird1enemyBird1=EnemyBird(imageNamed:"enemy1")enemyBird1.position.x=self.frame.width+100enemyBird1
我正在使用SpriteKit,我正在加载一个SceneKit文件,其中包含许多带有自定义类的Sprite。场景实际上从未加载过,因为它到达第一个自定义类并从requiredinit?(coder:)初始化程序中抛出fatalerror。尽管自定义类实现了一个初始化器,但我无法确定为什么它选择该初始化器而不是我提供的初始化器。自定义类:classBat:SKSpriteNode,GameSprite{varinitialSize:CGSize=CGSize(width:44,height:24)vartextureAtlas:SKTextureAtlas=SKTextureAtlas(n
由于我是SwiftiOS编程的新手,我对创建“预制件”有疑问?我有Unity背景,并且有类似预制件的东西,你可以多次实例化。在Swift或Xcode中有类似的东西吗?特别是我在SpriteKit中寻找它来创建带有child的SKNode副本 最佳答案 我认为最接近预制件的是类。您可以创建SKnode或任何其他节点的子类,例如SKSpriteNode,然后设置该类来执行您想要的操作。然后创建该类的一个实例。classBox:SKSpriteNode{init(){//Setupyournodethewayyouwantitsuper.
我正在尝试创建许多相互重叠和隐藏的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
我实际上正在使用SwiftSpriteKit开发游戏。我设置了一个SKSpriteNode的位置:skPart1.position=CGPointMake(0,100)所以节点应该从最左边的窗口边缘开始。|-------------------------||-------------------------||-------------------------||-------------------------||==========|--------------||==========|--------------||==========|--------------|但实际上我
当我更改spritenode的纹理时,大小会自动更改为纹理图像(png)的原始大小。我怎样才能避免这种情况?我的代码:varbomba=SKSpriteNode(imageNamed:"bomba2")varactionbomba=SKAction()bomba.size=CGSizeMake(frame2.size.width/18,frame2.size.width/18)letbomba3=SKTexture(imageNamed:"bomba3.png")actionbomba.addObject(SKAction.moveBy(CGVectorMake(0,frame.siz
在我的游戏中,我需要比较碰撞时的2个速度。两种速度都采用CGVector(dx:,dy:)格式。但是Swift3不允许我使用“>”和“funcdidBegin(_contact:SKPhysicsContact){varfirstBody=SKPhysicsBody()varsecondBody=SKPhysicsBody()letballNode=self.childNode(withName:ballName)letdefaultSpeedX:CGFloat=100letdefaultSpeedY:CGFloat=-100letmaxSpeed=CGVector(dx:defaul