我的初步想法是在layer的update事件里用个标志变量判断是否有触摸,没有触摸就记录开始时间,然后在update判断时间流逝了多久,如果时间达到几秒钟,就进行闪烁。不过好像这样做会报错。不知道大家有什么好方法?另外,这个update方法中的参数dt具体是指的什么?我查了一下没找到。
先谢谢了。
void
Layer::
update(float
dt){
if
(
IsMoving ==
false
&&
HintsShowed ==
false
&&
dtHintsStart ==
0)
{
dtHintsStart =
dt;
}
if
(
IsMoving ==
true)
{
HintsShowed =
true;
}
if
(
dt
dtHintsStart >=
0.01
&&
HintsShowed ==
false)
{
CCLOG(
“HintsShowd.”);
auto
blink
Blink::
create(1.0f,
3);
for
(itVector
cellHints.
begin();
itVector
!=
cellHints.
end();
itVector++)
{
CellSprite*
cell
(
CellSprite*)*itVector;
cell->
m_Sprite->
runAction(blink);
}
HintsShowed =
true;
dtHintsStart =
0;
}
}