我正在建立射击游戏。我想每隔十秒产生一个屏障,然后在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"谢谢你的帮助。
答案 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>