下面的图片是我试图用我的SKScene或SKNodes做的一个完美的例子,或者是否会满足我。
好的,所以我第一次尝试这个基本上是试图在Y轴上旋转我的SKOverlayScene上的SKNode,这样它可以产生“深入”的影响,但是在查看了有关它的所有问题之后,我发现了它不可能那样做。所以相反,每个人都建议做旧的卡片翻转技巧,你实际上根本不旋转SKNode,而是将其“xScale”因子从1.0改为-0.0。但正如你所看到的那样,如果你自己尝试一下,那就不会给我带来影响。
这是它的代码:
spriteNode.size = CGSize(width: 18, height: 28)
spriteNode.position = CGPoint(x: 50, y: 10)
spriteNode.zPosition = 0
spriteNode.alpha = 1.0
self.addChild(spriteNode)
let action0 = SKAction.scaleX(to: 1.0, duration: 3.0)
let action1 = SKAction.scaleX(to: -1.0, duration: 3.0)
let action = SKAction.sequence([action0, action1])
spriteNode.run(action)
这是我尝试将一个UIView或SKScene放到SNCPlane上,以便我可以显示我需要为我的SKScene显示的内容,然后只需在我的SCNScene中旋转SCNPlane以便我可以产生这种效果,但它在各方面都失败了。我不能在SCNplane上得到SKScene甚至出现我曾经做过的一次,在宽高比和像素数方面它的大小非常糟糕,它看起来很扭曲,我无法弄清楚如何让它变得像透明一样png图像,它不显示ex的默认灰色背景。所以基本上可以选择Iguess,但这里有代码。
代码:
class HUDPanel: UIView { //SKScene {
override init(frame: CGRect) {
super.init(frame: frame)
//self.opaque = true
self.alpha = 1.0
self.layer.cornerRadius = 5
self.layer.masksToBounds = true
self.backgroundColor = UIColor.red //.clear
var imageView : UIImageView
imageView = UIImageView(frame:CGRect(x: 0, y: 0, width: 0, height: 0))
imageView.image = UIImage(named:"art.scnassets/DamageImage-diffuse")
self.addSubview(imageView)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
//现在我的SNCScene下面放了:
let HUDPlane = SCNNode()
let HUDPlaneMaterial = SCNMaterial()
HUDPlaneMaterial.diffuse.contents = HUDPanel!
HUDPlaneMaterial.locksAmbientWithDiffuse = true
HUDPlaneMaterial.transparency = 1.0
HUDPlaneMaterial.isDoubleSided = true
HUDPlaneMaterial.lightingModel = SCNMaterial.LightingModel.constant
HUDPlane.castsShadow = true // there are more property with shadow
HUDPlane.geometry = SCNPlane(width: CGFloat(10.0), height: CGFloat(10.0))
//HUDPlane.rotation = SCNVector4(x: 1, y: 0, z: 0, w: Float(-M_PI_2))
HUDPlane.position = SCNVector3Make(UserPlayer.presentation.position.x - 6.0, UserPlayer.presentation.position.y + 20.0, UserPlayer.presentation.position.z - 20.0)
HUDPlane.geometry!.firstMaterial = HUDPlaneMaterial
scnView.scene!.rootNode.addChildNode(HUDPlane)
所以基本天气你会告诉我如何用精灵节点,UIView或SKScene来做这个效果。为了匹配效果,我正在图片顶部调查,这是HUD的深度效果。那将是真棒!我一定会把它标记为答案。感谢