zoukankan      html  css  js  c++  java
  • Swift

    对于场景内对象元件的点击响应,我们可以在场景的touchesBegan()方法中内统一处理。

    SKScene中touchesBegan()是响应屏幕点击的方法,在这里面我们可以先获取点击位置下所有的对象,然后筛选出需要的对象再调用该对象的方法。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    import SpriteKit
     
    class GameScene: SKScene {
         
        //当切换到这个场景视图后
        override func didMoveToView(view: SKView) {
     
        }
         
        //响应屏幕点击的方法
        override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {       
            for touch:AnyObject in touches{
                //获取点击的坐标
                let location = touch.locationInNode(self)
                //该坐标下所有的对象
                var arrObject = self.nodesAtPoint(location)
                //找出为HanggePoint类型的对象
                for p in arrObject {
                    let point = p as? HanggePoint
                    //如果该对象不为nil,就调用该对象方法
                    if point != nil {
                        point.onTouch()
                    }
                }           
            }
        }
    }
  • 相关阅读:
    Problem C: 爬楼梯
    Problem E: 倒水(Water)
    Problem H: tmk买礼物
    HDU 1078 FatMouse and Cheese
    POJ 3186 Treats for the Cows
    POJ 1661 Help Jimmy
    POJ 1458 Common Subsequence
    2018-软工机试-D-定西
    2018-软工机试-F-庙会
    2018-软工机试-C-和你在一起
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4841097.html
Copyright © 2011-2022 走看看