我正在使用一个框架状态组件来构建一个游戏,并通过状态变量跟踪游戏级别和播放/暂停状态。
我希望了解如何将状态数据传递给具有属性的组件。
这是我的状态-
AFRAME.registerState({
initialState: {
score: 0
},
handlers: {
gamePaused: function(state) {
state.gamePaused = true;
},
gameStarted: function(state, event) {
state.gamePaused = false;
state.level = event.source;
}
}
});
el.emit('gameStarted', {source: levelnumber}, true);
这是我的html
<a-entity bind__model-subset="target: #orca; gamelevel: level"></a-entity>
组件“模型子集”最初仅接受“目标”属性。我在其中包含了gamelevel属性,以便可以将状态变量级别传递给该组件。此后,我修改了模型子集组件,将gamelevel属性包含在模式中,如下所示-
AFRAME.registerComponent('model-subset', {
schema: {
target: { default: '', type: 'selector' },
gamelevel: { type: 'number'}
},
init: function() {
var data = this.data;
var el = this.el;
console.log("model-subset level is ", data.gamelevel); //this component does not get executed
}
})
但是,它会出错,并且不会执行组件代码。您能给我一个示例,说明如何将状态数据传递给架构中已经有一些属性的不同组件吗?