我的游戏中有一堆NPC对象,它们是通过
FlxReplay
实例。他们阻止我用鼠标和键盘直接控制英雄。有没有办法播放
FLX重播
,读取输入,然后将输入恢复到之前的状态?
例子:
package com.geokureli.testbed;
import flixel.FlxG;
import flixel.FlxState;
import flixel.system.replay.FlxReplay;
import flixel.ui.FlxButton;
class TestBed extends FlxState {
var replay:FlxReplay;
public function new() { super(); }
override public function create():Void {
super.create();
replay = new FlxReplay();
replay.load("0\n0km100,100,0,0\n100km178,240,2,0\n101km178,240,1,0\n102km178,240,-1,0\n103km178,240,0,0\n");
add(new FlxButton(50, 30, "test", function(){ trace("click"); }));
}
override public function update(elapsed:Float):Void {
if (replay != null) {
replay.playNextFrame();
if (FlxG.mouse.justPressed)
trace("replay click");
if (replay.finished) {
replay = null;
trace("done");
}
}
// --- REVERT INPUTS HERE
super.update(elapsed);
}
}
重播处于活动状态时,我无法单击该按钮。我想知道我是否可以换掉
FlxG.inputs
和
FlxG.keys
/
mouse
在所有重播过程中,然后交换回原稿。或者我是否可以针对重播使用的特定输入,而不影响主要玩家的输入?