Spritekit中如何判断触摸点击的精灵
来源:互联网 发布:淘宝加入购物车怎么买 编辑:程序博客网 时间:2024/05/18 03:26
在Spritekit这个2d游戏框架中,基本常用到的很多元素都是精灵,游戏人物,背景都是精灵,那我们触摸点击了屏幕上的多个精灵中的一个,在程序中如何分辨点击的是哪个精灵?这就需要用到SKSpriteNode实例的name属性
首先我们第一步给游戏添加一个精灵,用一张图片显示游戏人物,然后设置它的name属性为child
override func didMoveToView(view: SKView) { let player = SKSpriteNode(imageNamed: "player") player.name = "child" player.position = CGPoint(x: size.width/2, y: size.height/2) addChild(player) }
这样,我们在游戏中就有一个name = “child”的精灵
然后我们在触摸监控方法中判断当前触摸的精灵的name
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { /* Called when a touch begins */ for touch in (touches ) { let location = touch.locationInNode(self) if let sp = nodeAtPoint(location) as? SKSpriteNode{ if sp.name == "child" { print("触摸到了这个名字叫child的精灵") } } } }只需通过if来判断当前触摸精灵的name就可以了,当然,最好每个精灵name都不同,如果你要处理一类精灵,例如飞机发射的子弹,那产生的所有精灵的name属性都可以设置为bullet,这样可以管理一类相同作用的精灵。当然,也可以用switch case来判断name,swift中的switch case还是很强大的。
0 0
- Spritekit中如何判断触摸点击的精灵
- 判断精灵的点击
- 如何获取触摸精灵的版本号??
- Cocos2d-x中,如何通过触摸来移动一个精灵
- cocos2d游戏 判断触摸点是否触摸到精灵上
- Cocos2d-x判断点击到一个精灵
- 如何判断触摸点是否在view中
- 基于SpriteKit的游戏,如何添加界面
- SpriteKit中节点的z-position
- spriteKit 笔记三 —— Drog 精灵
- 如何在 SpriteKit 中使用 Texture Atlas (一)
- Oracle的FORM中,如何判断鼠标点击标签画布的是哪一页
- SpriteKit 如何截屏
- 如何在45度地图中判断鼠标点击的是哪个菱形
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- c# WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
- 如何判断点击的那个button处于哪一行cell中
- Spritekit中播放背景音乐
- 2015-1027 Emacs使用
- java设计模式_观察者Observer(一)
- 2.8 Loop Detection
- 超全!iOS 面试题汇总
- Spritekit中如何判断触摸点击的精灵
- 悟语 KISS 简单至上 keep it simple stupid
- 【noip2013】【提高组】【Day2】【解题报告】
- 百度富媒体编辑器 使用
- Java学习笔记1——关于Scanner类中nextDouble、nextInt、……等方法与nextLine方法联用的问题
- Java:String和Date、Timestamp之间的转换
- 三层架构实战篇—系统登录实例
- 三层架构(我的理解及详细分析)
- 获取android应用或apk的md5指纹方法