[英]Passing variables in Machina.js
我试图掌握machina.js的工作原理。
我已经定义了state1
,它是自己做的,并产生一个变量someVar
,然后过渡到state2
。
如何将someVar
作为参数传递给state2
?
var fsm = new machina.Fsm({
initialState: "uninitialized",
states: {
uninitialized: {},
state1: {
_onEnter: function() {
var someVar = "..."; // Stuff.
this.transition("state2");
}
},
state2: {
_onEnter: function() {
// someVar as argument somehow...?
console.log(someVar);
}
}
}
});
您可能会执行以下操作:
function FiniteStateMachineSetup() {
this.someVar = null;
this.fsm = new machina.Fsm({
initialState: "uninitialized",
states: {
uninitialized: {},
state1: {
_onEnter: state1_onEnter.bind(null, this)
},
state2: {
_onEnter: state2_onEnter.bind(null, this)
}
}
});
}
function state1_onEnter(self) {
self.someVar = "..."; // Stuff.
self.fsm.transition("state2");
}
function state2_onEnter(self) {
// someVar as argument somehow...?
console.log(self.someVar);
}
然后,您可以通过以下方式调用代码:
FiniteStateMachineSetup();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.