当前位置: 首页 > 面试题库 >

移动播放器时出现峰值滞后

仉臻
2023-03-14
问题内容

播放器是一个面板,将其删除,将其位置更改,然后重新添加到绘制到主框架的另一个面板(包含此方法的面板)中。还有许多其他小的面板,其中包含草精灵作为地形图块绘制到主面板上。我认为问题在于,当我致电时revalidate(),它也会重新验证所有这些小面板。我该如何解决?

编辑:我应该提到,我RelativeLayout用来将玩家放置在主面板上。

private class MainKeyAdapter extends KeyAdapter {

    @Override
    public void keyPressed(KeyEvent evt) {
        // TODO add your handling code here:
        if(AttentionedPlayer != null)
        {
            if (evt.getKeyCode() == KeyEvent.VK_UP) {
                AttentionedPlayer.Ypos -= 16;
            }
            if (evt.getKeyCode() == KeyEvent.VK_DOWN) {
                AttentionedPlayer.Ypos += 16;
            }
            if (evt.getKeyCode() == KeyEvent.VK_LEFT) {
                AttentionedPlayer.Xpos -= 16;
            }
            if (evt.getKeyCode() == KeyEvent.VK_RIGHT) {
                AttentionedPlayer.Xpos += 16;
            }
            remove(AttentionedPlayer);
            AttentionedPlayer.movePlayer();
            System.out.println("!!!!"+AttentionedPlayer.constraints.toString());
            add(AttentionedPlayer, AttentionedPlayer.constraints, AttentionedPlayer.Zpos);
            AttentionedPlayer.revalidate();
        }
    }

}

问题答案:

AttentionedPlayer.movePlayer();似乎是一项繁重的操作,您可以在EDT(GUI线程)中执行它。而是从新线程或SwingWorker中执行它。



 类似资料:
  • 我在Box2d上遇到了问题,因为我是Box2d新手,所以无法处理我的播放器的移动。当用户在我的游戏中触摸左右按钮时,我想将我的玩家左右移动。在我的游戏中,玩家已经通过了y轴。我想在控制播放器的同时看到很酷的平滑动画。我就是不能把我的球员移到左边我怎么能做到?提前谢谢 //编辑 我创建了一个测试夹具,我可以移动夹具,但不能移动我的球员。如何将我的玩家精灵连接到身体上?我必须找到控制身体的正确方法。一

  • 我有一个游戏的音效。当游戏框架打开时,第一个声音会滞后。在那个声音播放后,不会再有延迟。这是我的剪辑播放器: 因此,当我将 SoundEffect.WALL.play() 命名为“声音效果”时,它总体上可以很好地播放,但是第一次播放时,会出现巨大的延迟峰值。我能做些什么来解决这个问题,最好还是使用剪辑?

  • zyMedia 是由掌阅科技开源的基于HTML5 video和audio的自定义UI多媒体播放器,经过多种移动端设备环境的检测(尤其是国产设备和浏览器),已用于公司的产品线。 特点: 支持主流移动设备移动端浏览器,适合国内移动环境。 支持多种视频、音频格式,如mp4、mp3、oga、webm等。 轻量,UglifyJS压缩14KB 已通过测试的设备: 小米1、小米2s、小米 MI3、红米、小米 M

  • 这一节的任务是实现一个播放器的内核,主要就是实现:播放列表,暂停/播放、上一曲、下一曲,音量调节等功能。 播放器设计 为了实现这些功能,我们可以先创建一个结构体来存储播放器的信息及其当前的状态,例如:播放列表、当前的播放状态、音量大小等,如下所示:播放状态只有两种状态,正在播放和播放停止;PLAYER_SONG_NUM_MAX 默认定义为 10 首。 enum PLAYER_STATUS {

  • Android播放开发SDK IOS播放开发SDK

  • 问题内容: 我想创建2个可以启动和停止背景音频的设备。 这是我的代码: 当我单击时,可以正常工作,可以播放音频。 但是,当我单击时,会出现错误,如果再次单击,将不会再有声音。 这是错误: 我的程序有什么错误? 问题答案: 此SSCCE在这里是“无效结果”,因为音频无例外地重新启动(尝试至少3次)。