如何在延时swift 3 spritekit之后生成对象

时间:2017-06-11 02:36:48

标签: ios swift sprite-kit children removechild

我正在建立射击游戏。我想每隔十秒产生一个屏障,然后在3秒后删除它。我认为这就像

                let TimeBeforeAdd = DispatchTime.now() + 5

                DispatchQueue.main.asyncAfter(deadline: TimeBeforeAdd) {

                self.Barrier.position = self.barrierPos

                self.addChild(self.Barrier)

                self.barrierAdded = true





    }

    if barrierAdded == true {

        let RemoveTime = DispatchTime.now() + 3

        DispatchQueue.main.asyncAfter(deadline: RemoveTime) {

            self.Barrier.removeFromParent()

            self.barrierAdded = false

        }


    }

但是当它在十秒后运行时,我得到一个错误,说它添加了多个" Barrier"谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

调度计时器非常酷。但是,有一个很多更简单的方法!你走了:

es = Elasticsearch(
    ['localhost', 'otherhost'],
    http_auth=(username,pwd),
    port=port_no,
    use_ssl=False
)
>>> es.ping
    True


>>> es.count(index="events-2017.06.09*")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\elasticsearch\client\utils.py", line 73, i
n _wrapped
    return func(*args, params=params, **kwargs)
  File "C:\Python27\lib\site-packages\elasticsearch\client\__init__.py", line 11
23, in count
    doc_type, '_count'), params=params, body=body)
  File "C:\Python27\lib\site-packages\elasticsearch\transport.py", line 312, in
perform_request
    status, headers, data = connection.perform_request(method, url, params, body
, ignore=ignore, timeout=timeout)
  File "C:\Python27\lib\site-packages\elasticsearch\connection\http_urllib3.py",
line 128, in perform_request
    self._raise_error(response.status, raw_data)
  File "C:\Python27\lib\site-packages\elasticsearch\connection\base.py", line 12
5, in _raise_error
    raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_me
ssage, additional_info)
elasticsearch.exceptions.NotFoundError: <exception str() failed>