如何让文字在几秒钟后消失

Posted

技术标签:

【中文标题】如何让文字在几秒钟后消失【英文标题】:how to get text to disappear after few seconds 【发布时间】:2016-05-04 22:55:19 【问题描述】:

大家好,我现在正在构建我的游戏,并试图让一些文本在几秒钟后消失。我正在使用 Phaser,但我不确定如何执行此操作。

目前我有:

Asteroid.time.events.remove(Phaser.Timer.SECOND - 3, this.startInstructions3, this);

我的文字正常显示在页面上:

if (!this.rockmodel.countLiving()) 
    Asteroid.time.events.add(Phaser.Timer.SECOND * 3, this.levelIncrease, this);
    var startInstructions3 = 'NEXT LEVEL! ';
    this.gametext3 = Asteroid.add.text(Asteroid.world.centerX, Asteroid.world.centerY, startInstructions3, lifefont3.thefont3);
    this.gametext3.align = 'center';
    this.gametext3.anchor.set(0.5, 0.5);

然后当我回到我的levelIncrease 函数时,我有:

if (this.rockcount < rocksincoming.max) 
        this.rockcount += rocksincoming.astup;  

Asteroid.time.events.remove(Phaser.Timer.SECOND * 3, this.startInstructions3, this);
    this.randomrock();
,
endofgame: function () 
    Asteroid.state.start(gameobjectstouse.menu);
,

我的问题是,它是像 -3 还是你可以在 Phaser 中做一些固定的事情,比如持续时间或类似的东西?我似乎找不到任何关于它的信息。

谢谢。

【问题讨论】:

【参考方案1】:

实际上有 an official example 为您介绍了这种情况。

您的Asteroid.time.events.remove() 实际上会删除一个事件,而不是添加一个删除事件。例如,如果您有一个循环的事件并想要删除该事件,您可以使用time.events.remove

所以您想添加一个在三秒后触发的事件,因此类似于以下内容,而不是您的 Asteroid.time.events.remove 行:

Asteroid.time.events.add(Phaser.Timer.SECOND - 3, this.nameOfFunctionToHideText, this);

nameOfFunctionToHideText(或您创建的任何新函数)将删除文本。

【讨论】:

以上是关于如何让文字在几秒钟后消失的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView 单元格在几秒钟后消失或在点击屏幕时消失

转到下一帧,然后在几秒钟后删除其中的movieClip(Actionscript 2)

自动消失的自定义消息框

媒体控件栏在 VideoView Android 中出现一秒钟后消失

Dart Flutter:如何从作用域模型运行动画?

几秒钟后我的窗口内容消失了