小编NSo*_*tic的帖子

如何创建圆形物体进入和分离厚物质的效果

基于下面的图像(我使用不同颜色的圆和平面,所以他们可以看到,但最终颜色将是相同的),使用Swift和Spritekit,我试图创建一个圆形对象进入的效果厚物质(不一定是粘性的)并与厚物质分离.基本上,当圆形物体分离时,它会在形成圆形时从平坦表面拉开.我想使用图像动画帧,但由于对象是具有物理主体的SKSpriteNodes,因此这将使得对象与动画的碰撞非常困难.另一种方法是使用CAAnimation,但我不知道如何将这与SKSpriteNodes与物理实体结合起来.如何使用上述任何方法或不同方法创建此分离效果?

在此输入图像描述

UPDATE

下图显示了当圆形物体进入厚物质直至其浸没时,厚物质表面的变化.

在此输入图像描述

cadisplaylink sprite-kit swift

41
推荐指数
1
解决办法
1098
查看次数

如何设置圆的物理属性,使其遵循给定的路径

物理体圈的运动对于我想要达到的目标来说太不稳定了.我想限制它,以便它遵循某个特定点(或一系列点)的路径,如下图所示.如何设置物理属性以遍历类似的路径?

在此输入图像描述

sprite-kit skphysicsbody swift

8
推荐指数
1
解决办法
343
查看次数

为什么不能将属性观察者添加到惰性属性中?

我看了一个关于swift基础知识的教程,并且传递了一个注释,即属性观察者不能添加到惰性属性中,但没有给出任何理由.为什么会这样?

ios swift

7
推荐指数
1
解决办法
484
查看次数

将精灵宽度缩放到屏幕宽度的问题

实际上我试图实现与这个问题所做的完全不同(无论它在屏幕上的位置如何填满屏幕宽度,都可以缩放精灵).请参阅下面的代码:

      if touch?.tapCount == 2  {  
        self.view?.isUserInteractionEnabled = false

        mySprite?.sprite.anchorPoint = CGPoint(x: (mySprite?.sprite.position.x)! / self.size.width, y: (mySprite?.sprite.anchorPoint.y)!)
        let scaleSpriteAction = SKAction.scaleX(to: self.size.width / (mySprite?.sprite.size.width)!, duration: 0.1)
        mySprite!.sprite.run(scaleSpriteAction)

        delay(0.1)  {
            centerPoint = CGPoint(x: mySprite!.sprite.size.width / 2 - (mySprite!.sprite.size.width * mySprite!.sprite.anchorPoint.x), y: mySprite!.sprite.size.height / 2 - (mySprite!.sprite.size.height * mySprite!.sprite.anchorPoint.y))

            mySprite!.sprite.physicsBody = SKPhysicsBody(rectangleOf:    mySprite!.sprite.size, center: centerPoint)
            mySprite!.sprite.physicsBody!.categoryBitMask = mySpriteCategory
            mySprite!.sprite.physicsBody!.isDynamic = false

        }
     }
Run Code Online (Sandbox Code Playgroud)

精灵扩展但并不总是填满整个屏幕.根据我的观察,当精灵更接近屏幕的左端或右端时,它会更频繁地发生.在延迟之前和之后记录精灵位置并意识到它们不同之后,我禁用了用户交互,但这并没有改变任何东西.延迟确保physicsBody也可以缩放到全屏宽度.

什么可能导致精灵扩展不一致(并不总是填满屏幕宽度),我怎样才能让它每次填充整个宽度?

sprite-kit swift swift3

5
推荐指数
1
解决办法
66
查看次数

标签 统计

swift ×4

sprite-kit ×3

cadisplaylink ×1

ios ×1

skphysicsbody ×1

swift3 ×1