本文整理匯總了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 */
}
}