Tag: skspritenode

有没有反转SKSpriteNode的颜色的方法

我想知道是否有可能颠倒SKSpriteNode的颜色(或调整色调)。

SKSpriteNode子类化swift

我发现了一些这方面的post,但我仍然困惑如何做到这一点。 我知道我必须使用init(texture:SKTexture!,color:UIColor!,size:CGSize)的“指定初始化程序”。 真的,我不会用那个。 我想只是添加一些属性的精灵节点。 class Piece: SKSpriteNode { enum Type: Int { case type1 = 1, type2, type3, type4, type5 } var piecetype : Type init(texture: SKTexture!, color: UIColor!, size: CGSize) { self.piecetype = .type1 super.init(texture: texture, color: color, size: size) } convenience init(imageNamed: String!, currentPiece: Type) { self.piecetype = currentPiece let color = UIColor() […]

将文本字段添加到SKScene

我正在使用Sprite Kit创build一个游戏,我想为玩家添加一个文本框来input他们的名字。 我如何使用Sprite Kit创build文本框? 我将创build一个播放器对象(我已经设置好了),并使用它们input的名称以及默认分数0。混合UITextfields和Sprite Kit节点是不是很糟糕的做法,甚至是可能的?

iOS – bodyWithPolygonFromPath:Body与path相同,但碰撞不能正常工作

首先,我要感谢这个网站上的每个用户,因为我总是在这里find解决scheme,而且非常有帮助! 我正在尝试使用SpriteKit制作像Xonix,Bix或Jezzball的游戏。 无论如何,我有一个弹跳在墙上的球,我试图阻止它不能走的障碍,这些障碍是由CGPathref(用户使它的运动) 我使用bodyWithPolygonFromPath创build了skspritenode的物理体,它正在工作,但并不总是如此。 我已经下载了YMCPhysicsDebugger来查看身体的内容,并且在任何情况下都是好的,但是我已经看到,当我在CGPath上有超过4分时,球不会与整个身体发生碰撞,它只碰撞一个较小的区域..我已经尝试过,没有任何结果search了很多..我试图使逆时针CGPath的点,它不工作,即使在另一边.. 我拷贝了你创buildSKSpriteNode的代码,但我怀疑它会有用,我认为问题是与我的观点,也许我需要更多的解释如何物理工作与多边形 SKSpriteNode *zone = [SKSpriteNode spriteNodeWithColor:[UIColor redColor] size:CGSizeMake(50, 50)]; zone.physicsBody = [SKPhysicsBody bodyWithPolygonFromPath:path.CGPath]; // 1 zone.physicsBody.friction = 0.0f; zone.physicsBody.restitution = 0.0f; zone.physicsBody.linearDamping = 0.0f; zone.physicsBody.allowsRotation = NO; zone.physicsBody.categoryBitMask = wallsCategory; zone.physicsBody.dynamic = NO; // 2 [self addChild:zone]; 这里有两张我的“游戏”的照片,第一张是作品,球反弹回来。 第二个是不应该的,只有上部被检测到碰撞。 http://hpics.li/86a69e2 http://hpics.li/e16d18e 我也尝试在更新函数中检测到球进入障碍时手动使其反弹,但当然,这不是真的工作。 加上我的math研究不是那么好大声笑 for(SKSpriteNode *zone in zonesTab) { UIBezierPath *path […]

在迅速如何更改SKSpriteNode的颜色?

我创build了一个SKSpriteNode为黑色的游戏,当用户触摸屏幕时,我希望SKSpriteNode变成白色。 我search了一切可能的东西,尝试了很多不同的策略,但都没有运气。 有谁知道如何做到这一点? 这里是我的场景的代码: var blackBird = SKSpriteNode() override func didMoveToView(view: SKView) { //Black Bird var blackBirdTexture = SKTexture(imageNamed:"blackbird") blackBirdTexture.filteringMode = SKTextureFilteringMode.Nearest blackBird = SKSpriteNode(texture: blackBirdTexture) blackBird.setScale(0.5) blackBird.position = CGPoint(x: self.frame.size.width * 0.35, y: self.frame.size.height * 0.6) blackBird.physicsBody = SKPhysicsBody(circleOfRadius:blackBird.size.height/2.0) blackBird.physicsBody!.dynamic = true blackBird.physicsBody!.allowsRotation = false self.addChild(blackBird) } override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) […]

在不缩小内容的情况下调整精灵的大小

我用UIBezierPath创build了一个大圆圈,并使用它将其转换为Sprite, let path = UIBezierPath(arcCenter: CGPoint(x: 0, y: 0), radius: CGFloat(226), startAngle: 0.0, endAngle: CGFloat(M_PI * 2), clockwise: false) // create a shape from the path and customize it let shape = SKShapeNode(path: path.cgPath) shape.lineWidth = 20 shape.position = center shape.strokeColor = UIColor(red:0.98, green:0.99, blue:0.99, alpha:1.00) let trackViewTexture = self.view!.texture(from: shape, crop: outerPath.bounds) let trackViewSprite […]

无法点击SKSpriteNode – 没有触摸检测到ios

我对iOS,Objective C非常新,并且使用Xcode。 我只做了一个简单的新闻类应用程序,但现在我想创build一个我在另一个平台上发布的游戏。 基本上,我有一个物体随机出现,然后淡出,目的是挖掘物体使其消失。 不过,我似乎无法挖掘该对象,即使我设置mySKSpriteNode.userInteractionEnabled = YES; 这是我在touchesBegan方法中所具有的: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { /* Called when a touch begins */ NSLog(@"Something was touched"); UITouch *touch = [touches anyObject]; NSLog(@"%@", touch); CGPoint location = [touch locationInNode:self]; SKNode *node = [self nodeAtPoint:location]; if(node == mySKSpriteNode) [node runAction:[SKAction fadeOutWithDuration:0]]; } 在我的日志中,当我点击屏幕(而不是我拥有对象的地方)时, 2014-02-17 23:18:30.870 BubbleChallenge[48541:70b] Something was touched 2014-02-17 […]

inheritance使用SpriteKit .sks场景文件创build的SKNodes

(这是XCode 6和iOS 8 beta 4) 喜欢新的SceneKit编辑器。 我成功地从.sks文件加载到一个自定义SKScene类的场景。 然而,它里面的对象被实例化为默认类(SKNode,SKSpriteNode等),我不知道如何绑定它们来实例化为自定义子类。 目前,我正在通过创build自定义类和链接到精灵节点作为一个属性来解决这个问题,并且工作正常

如何以一致的速度移动IOS SKSprite?

在IOS SpriteKit中玩SKSprites,我基本上想要一个精灵随机移动一定距离的某个方向,然后select一个新的随机方向和距离。很简单,创build一个方法,产生随机数然后创buildanimation和animation的完成块中有callback相同的例程。 这是行得通的,但是它也保持animation以相同的速度移动,因为animation全部基于持续时间。如果对象必须移动100,则它以移动的速度移动1/2,如果下一个随机指示它移动移动200 …那么我怎么才能以一致的速度移动?