SpriteKit中的共享动作(Sharing Actions)
来源:互联网 发布:精华乳和精华液 知乎 编辑:程序博客网 时间:2024/06/03 02:26
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)
在SpriteKit中某些动作需要一些额外的延时,如果每次都重新创建就会代码不必要的性能浪费,比如SKAction.playSoundFileNamed动作.该动作加载一个声音文件然后播放.比如我希望场景中每个圆球碰撞时就播放一次(相同的)声音,我可以这么写:
if 发生碰撞{ let action = SKAction.playSoundFileNamed("hitCatLady.wav", waitForCompletion: false) runAction(action)}
但是屏幕上每时每刻都有数以千计的碰撞,每次都创建一个加载播放的动作未免太夸张!这时SpriteKit中共享动作的概念可以帮助我们解决这个问题—–我们只需要创建一个动作,该动作本身是不包含任何状态的,所以我们可以把它应用在任何对象上任意多次!
我们只需要创建一个动作:
class MyClass{ let enemyCollisionSound:SKAction = SKAction.playSoundFileNamed("hitCatLady.wav", waitForCompletion: false)}
然后每次都使用这一个动作:
func zombieHitEnemy(enemy:SKSpriteNode){ enemy.removeFromParent() runAction(enemyCollisionSound) }
That’s All!!!
0 0
- SpriteKit中的共享动作(Sharing Actions)
- Actions 动作
- IDEA 中的 Intention Actions(意图动作) 上
- cocos2d-x:动作 Actions
- cocos2d开发之动作(Actions)
- Libgdx 之Actions 动作类
- 伪共享false sharing
- 伪共享(False Sharing)
- 伪共享(False Sharing)
- 伪共享(False Sharing)
- 伪共享(False Sharing)
- 伪共享(False Sharing)
- 伪共享(False Sharing)
- Silverlight 触发器与动作(Triggers and Actions)
- Silverlight 触发器与动作(Triggers and Actions)
- cocos2d-x学习笔记(7)--动作(Actions)
- Silverlight 触发器与动作(Triggers and Actions)
- Redux中的actions
- 文件查找源码(linux环境下)
- discuz论坛不登录状态(游客浏览)模式下,门户页面显示keyword关键词,description描述
- Netty in Action (十九) 第九章节 单元测试
- Android 使用volley请求数据
- 常见系统错误信息分析
- SpriteKit中的共享动作(Sharing Actions)
- sprintf
- ES6学习——类语法:继承中的原型链
- ActiveMQ集群方案
- mysql5.6默认有几个数据库?mysql5.6初始有几个数据库?
- 山东省第五届ACM省赛题——Hearthstone II(第二类Stiring数)
- 简单的迷宫
- 你应该知道的那些Android小经验
- iOS学习笔记38-MJExtension使用