- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我目前正在使用 Swift 3 和 SpriteKit 开发一款游戏。我有一枚硬币在用户可以收集的游戏中掉落。现在,它落下并且没有任何旋转或任何东西。我想在它掉落时添加 3D 旋转效果。这个效果应该是绕y轴旋转。我不确定如何创建这样的 3D 效果,或者我是否应该使用其他程序。
我在另一个堆栈溢出帖子中找到了我要找的东西,但它在 objective-c 中:
我找到了一种使用 Core Animations/Core Graphics(通过链接)执行此操作的方法,但我不知道如何使其在 SKSpriteNode 上运行。
var coinFlip = CATransition()
coinFlip.startProgress = 0
coinFlip.endProgress = 1.0
coinFlip.type = "flip"
coinFlip.subtype = "fromRight"
coinFlip.duration = 0.5
coinFlip.repeatCount = 2
yourView.layer.addAnimation(coinFlip, forKey: "transition")
这最后一行仅适用于 UIViews,因此当我尝试在 SKSpriteNode 上运行它时会导致错误。
如果有人可以向我解释如何执行此操作和/或向我展示为 SKSpriteNode 创建此动画的另一种方法,将不胜感激。
最佳答案
我最终通过减少和增加硬币的 xScale
来创建旋转效果,同时还更改了 colorBlendFactor
以使硬币在光线不应该变暗时看起来像是变暗了打它。
这是我的代码:
let scaleSequence = SKAction.sequence([SKAction.scaleX(to: 0.1, duration: 0.75), SKAction.scaleX(to: 1, duration: 0.75)])
let darkenSequence = SKAction.sequence([SKAction.colorize(with: SKColor.black, colorBlendFactor: 0.25, duration: 0.75, SKAction.colorize(withColorBlendFactor: 0, duration: 0.75)])
let group = SKAction.group([scaleSequence, darkenSequence])
fallingCoin.run(SKAction.repeatForever(group))
它有点乱,但它确实有效。简单地说,它使用 SKAction.group
所以 Action 同时运行,我把颜色变暗和“转动”硬币的 SKAction.sequence
放在组中所以每个序列同时运行。另请注意,所有持续时间均为 0.75。如果您使用此代码,请确保所有持续时间都相同,以免破坏效果。
要使硬币看起来像翻转而不是转动,不要修改 xScale
,而是更改 yScale
。
感谢@Mobile Ben 为我指明了正确的方向!
关于swift - SKSpriteNode 上的 3D 硬币翻转动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39058317/
我目前正在做一个项目,试图开发一种用于 P2P 能源交易的货币和模型,其中每产生一千瓦时的可再生能源就会向该生产商类型转换一枚硬币。我的问题是关于销毁智能合约中的代币。 所有与我的项目类似的当前实现都
在没有Maps帮助的情况下通过Memoization解决问题,由于读取文件的方法,我得到了TLE,根据我的说法,这不应该是这种情况。可能的原因是什么? 这是给出 AC - http://ideone.
考虑下面这段伪代码,其中d是面额值数组,k是面额数,n是要进行更改的金额。 Change(d; k; n) 1 C[0] 我真的不明白这部分,你为什么要用它,谁能给我解释一下! 最佳答案 为了回答
我正在尝试在我的网站上实现 Coin Slider (http://workshop.rs/2010/04/coin-slider-image-slider-with-unique-effects/)
我有使用硬币 slider 的画廊 var $jq = jQuery.noConflict(); $jq(window).load(function() { var imhei
我使用了从该站点提取的硬币 slider http://workshop.rs/projects/coin-slider/ .它现在自动滚动并仅在悬停时显示上一个和下一个。我需要禁用自动滚动并正常显示
我的问题是一道CodeFu练习题(2012 round 2 problem 3)。它基本上归结为将整数数组分成两个(几乎)相等的两半并返回两者之间可能的最小差异。我在下面包含了问题描述。如评论中所述,
我们的老师要求我们制作一 jar 硬币,用来计算我们有多少便士、一毛钱等,然后给出总金额。 这是他希望我们使用的模板 https://online.pcc.edu/content/enforced/7
我正在尝试使用币安币 future 的 api 下载 BTC/USD 永续 future 的历史价格数据,具体来说,我想使用 this endpoint .但是,我找不到必须为 BTC/USD 指定的
我上周刚开始学习计算机科学,我们得到了一个名为“硬币”的工作表,其中我必须找出一组硬币中有多少个 25 美分、10 美分、5 美分和 10 便士。我遇到了很多麻烦,并收到了该错误。这是我的代码 pac
我正在构建一些使用消耗性硬币的测验。我使用 NSUserDefault 来保存设备上的硬币及其工作。我还在 qiuz 中使用 CloudKit 处理数据。 不麻烦的是,如果用户切换设备如何恢复硬币?有
我是一名优秀的程序员,十分优秀!