AS3 中的不同场景、不同帧率

Different Scene, different framerate in AS3

提问人:Isaac Yeap Jie Ling 提问时间:11/7/2023 最后编辑:Isaac Yeap Jie Ling 更新时间:11/8/2023 访问量:21

问:

如何在 3 个不同场景中以不同的帧速率使此代码正确?有什么例子吗?

原文来自 Actionscript 3.0 - 更改场景的 FPS 不起作用

function modifyFrameRate():void {
    stage.frameRate = this.currentScene.name == 'Scene 1' ? 2 : 40;
}
modifyFrameRate();

我的代码:

function modifyFrameRate():void {
    stage.frameRate = this.currentScene.name == 'Title' ? 'Game' : 60;
    stage.frameRate = this.currentScene.name == 'Intro Scene' ? 'Game' : 60;
    stage.frameRate = this.currentScene.name == 'Game' ? 'Ending Scene' : 24;
}
modifyFrameRate();
ActionScript-3 帧速率 场景

评论


答:

1赞 Organis 11/8/2023 #1

原始代码在两种模式之间进行选择,这就是使用三元运算符的原因。如果您有更多场景,那么创建一个键值字典更有意义,其中场景名称是,帧速率是值:

var SceneToRate:Object =
{
    'Title': 10,
    'Intro Scene': 120,
    'Game': 60,
    'Ending Scene': 24
}

function updateFrameRate():void
{
    stage.frameRate = SceneToRate[currentScene.name];
}