我正在尝试在Sprite工具包上使用swift创建一个矩形,因为矩形需要用作场景中的对象,我假设我需要创建一个SkSpriteNode,他们给它一个大小,但是它没有用,我就是这样做的:varbarra=SKSpriteNode()barra.name="bar"barra.size=CGSizeMake(300,100)barra.color=SKColor.whiteColor()barra.position=CGPoint(x:100,y:100)self.addChild(barra)将barra添加到屏幕不会改变节点计数。任何帮助将不胜感激! 最佳答
我正在使用SpriteKit绘图。我想检测用户的绘图何时相交。我尝试遵循代码,但它不起作用。看起来spritekit并没有保存所有的点:overridefunctouchesMoved(touches:NSSet,withEventevent:UIEvent){/*Calledwhenatouchbegins*/touch=touches.anyObject()asUITouch!fordrawingPointindrawingPoints{if(touch.locationInNode(self)==drawingPoint){println(true)}}drawingPoints
我正在尝试旋转玩家以进行触摸。使用触摸移动功能,我将位置设置为一个变量。然后我调用一个函数。它有效,但角度不对。Location是全局变量,player是我要转动的Sprite。它偏离了大约15度。funcrotatePlayer(){letangle=atan2(location!.y-player!.position.y,location!.x-player!.position.x)player?.zRotation=angle} 最佳答案 根据SpriteKitBestPractices文档Usegamelogicandart
我正在尝试在具有固定面板的益智游戏中添加对旁白辅助功能的支持。但是,我无法显示UIAccessibilityElements。现在我正在我的SKScene中覆盖accessibilityElementAtIndex、accessibilityElementCount和indexOfAccessibilityElement。他们正在返回一个可访问元素数组:funcloadAccessibleElements(){self.isAccessibilityElement=falseletpieces=getAllPieces()accessibleElements.removeAll(kee
我希望我的Sprite碰撞和接触被检测到,但我不希望它们动态移动(我只需要知道它们已经接触过)。didBeginContact(contact:SKPhysicsContact!)只有在我将玩家的physicsBody.dynamic设置为true时才会调用。如何在不影响玩家位置或移动的情况下调用这些委托(delegate)方法? 最佳答案 您可以将对象固定在屏幕上,因此您无需将重力设置为0(如果您希望保持其他对象的重力)。像这样设置对象:object.physicsBody.dynamic=trueobject.physicsBo
我试图让Sprite永远上下移动,我尝试使用“if语句”来检查位置是否...然后它会再次向上移动。但它不起作用。我真的很感激一些帮助,谢谢!这是代码。varGround=SKSpriteNode()varGround2=SKSpriteNode()overridefuncdidMoveToView(view:SKView){Move()}funcMove(){letaction=SKAction.moveToY(self.frame.height/2-360,duration:5.0)Ground.runAction(SKAction.repeatActionForever(actio
我正在使用Swift和SpriteKit在XCodeBeta6上开发游戏。为了检测所有节点是否都在休眠,我检查了它们的physicsBody.resting属性。在更新方法中,我打印出结果。importSpriteKitclassGameScene:SKScene,SKPhysicsContactDelegate{varhero:SKSpriteNode!overridefuncdidMoveToView(view:SKView){self.physicsWorld.gravity=CGVectorMake(0,0)self.physicsWorld.contactDelegate=s
我正在使用XCode6、SpriteKit和Swift工作,并且我有一个包含以下声明的节点:varred=SKSpriteNode(imageNamed:"Rectangle")我想更改节点的不透明度,但我不知道如何更改,除了使用FadeIn、FadeOut等SKAction...我尝试更改red.colorBlendFactor但它只是更改节点上新颜色的不透明度,而不是节点的不透明度... 最佳答案 使用SKNode的alpha属性:red.alpha=0.5//setredto50%transparent
目前我对我的所有Sprite都有静态引用,并在我的SimpleBaseGameActivity的OnCreateResource方法中加载和初始化它们,但现在我必须覆盖Sprite上的onAreaTouched监听器以及我在初始化Sprite时可以覆盖它的方式。但是我有一个静态方法为每个Sprite创建图集和纹理区域。我在我的场景类中使用这些Sprite,我想在那里覆盖onAreaTouched。我可以在我的场景中为那个特定的Sprite注册TouchArea以便可以完成但是我想以某种方式覆盖OnAreaTouched以便可以完成代码的可重用性。以下是我目前创建和加载Sprite的方式
我对Libgdx中的sprite.setSize(floatx,floaty)方法有疑问。它不会影响Sprite的大小或维度。无论我传递给setSize()方法,它们都保持不变。这是我的代码:publicclassGameScreenimplementsScreen{OrthographicCameracamera;SpriteBatchbatch;TexturecarTexture;SpritecarSprite;publicGameScreen(){}@Overridepublicvoidrender(floatdelta){//TODOAuto-generatedmethodst