本文整理汇总了TypeScript中rot-js.Engine类的典型用法代码示例。如果您正苦于以下问题:TypeScript Engine类的具体用法?TypeScript Engine怎么用?TypeScript Engine使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Engine类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: units
/* simulate several turns */
template = "Actor %s performing action for %s time units (current time: %s)";
for (let i = 0; i < 20; i++) {
const current = act_scheduler.next();
const actionDuration = Math.ceil(ROT.RNG.getUniform() * 20);
act_scheduler.setDuration(actionDuration);
const padded = actionDuration.toString().lpad("0");
SHOW(template.format(current, padded, act_scheduler.getTime()));
}
// Timing & scheduling / Engine / Asynchronous game engine
scheduler = new ROT.Scheduler.Simple();
let engine = new ROT.Engine(scheduler);
let output: any = [];
class Actor1 {
constructor(public lives: number) { }
act() {
output.push(".");
this.lives--;
if (!this.lives) {
scheduler.remove(actor1);
engine.lock(); /* pause execution */
setTimeout(unlock, 500); /* wait for 500ms */
}
}
}
示例2: second
const unlock = () => { /* called asynchronously */
const actor2 = new Actor2();
output = [];
scheduler.add(actor2, false); /* add second (non-repeating) actor */
engine.unlock(); /* continue execution */
SHOW(output.join(""));
};
示例3: act
act() {
output.push(".");
this.lives--;
if (!this.lives) {
scheduler.remove(actor1);
engine.lock(); /* pause execution */
setTimeout(unlock, 500); /* wait for 500ms */
}
}