ios – Sprite kit – 如何显示精灵纹理图像的一半

ios – Sprite kit – 如何显示精灵纹理图像的一半,第1张

概述我正在开发一个Sprite Kit项目,我需要在某些情况下只显示现有图像的一半. 我尝试使精灵的框架更小,但它只是拉伸图像. 是否有可能使用蒙版或其他东西才能只显示精灵/图像/纹理的一半? 因此,为了只显示图像,纹理,精灵的一半,有人需要使用SKCropNode.唯一明智的做法是从一半开始裁剪你需要的精灵,而不仅仅是用预定义的尺寸进行裁剪.这可以通过设置掩模节点位置来实现. 1)使用该纹理/图像创 我正在开发一个Sprite Kit项目,我需要在某些情况下只显示现有图像的一半.

我尝试使精灵的框架更小,但它只是拉伸图像.

是否有可能使用蒙版或其他东西才能只显示精灵/图像/纹理的一半?

解决方法 因此,为了只显示图像,纹理,精灵的一半,有人需要使用SKCropNode.唯一明智的做法是从一半开始裁剪你需要的精灵,而不仅仅是用预定义的尺寸进行裁剪.这可以通过设置掩模节点位置来实现.

1)使用该纹理/图像创建一个SkSpriteNode:

// Obj-CSKSpriteNode *skelet = [SKSpriteNode spriteNodeWithImagenamed:imagename];// Swiftlet skelet = SKSpriteNode(imagenamed: imagename)

2)创建SKCropNode:

// Obj-CSKCropNode * cropNode = [SKCropNode node];// Swiftlet cropNode = SKCropNode()

3)创建面具

// Obj-CSKSpriteNode *mask = [SKSpriteNode spriteNodeWithcolor:[UIcolor blackcolor] size:CGSizeMake(skelet.frame.size.wIDth/2,skelet.frame.size.height)];// Swiftlet mask = SKSpriteNode(color: .black,size: CGSize(wIDth: skelet.frame.size.wIDth/2,height: skelet.frame.size.height))

**将面具位置设置为您需要的结果的一半(您需要一半的骨架 – >将面具位置设置为骨架的一半的一半“)

// Obj-Cmask.position = CGPointMake(skelet.frame.size.wIDth/4,0);// Swiftmask.position = CGPoint(x: skelet.frame.size.wIDth/4,y: 0)

除以4是因为您需要遮罩的中心不在骨架节点的中心,而是移动到骨架的一半半(提醒遮罩节点使用默认锚点0.5 0.5 – 所以零点对应于骨架节点的中心).

4)将所需元素添加到裁剪节点

// Obj-C[cropNode addChild:skelet];[cropNode setMaskNode:mask];[self addChild:cropNode];// SwiftcropNode.addChild(skelet)cropNode.maskNode = maskself.addChild(cropNode)
总结

以上是内存溢出为你收集整理的ios – Sprite kit – 如何显示精灵/纹理/图像的一半全部内容,希望文章能够帮你解决ios – Sprite kit – 如何显示精灵/纹理/图像的一半所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1012447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存