我正在做一个人工智能项目。我在网页上有一个小坦克和一个网格,坦克只是一个像这样的 div:
<div id="agent" ></div>
然后我使用 jQuery 来做这样的事情:
agent = $('#agent').setUpAgent();
//examples of usage:
agent.goUp();
agent.goLeft();
agent.doActions['left','right','down']; // (will execute: goLeft, goRight, goDown functions.
这些方法的实现相当简单:
Agent.prototype.goLeft = function() {
this.agentDiv.rotate(45); // rotate the jQuery-wrapped div
this.agentDiv.animate({"margin-left": "-=51px"}, "slow"); //51 is the step size
}
如您所见,代理上的移动是通过 jQueryAnimate 更改其边距来实现的。将其移植到 angularJS 是否合乎逻辑?例如像这样:
<div agent="nameOfJavascriptObject" ></div>
由于 AngularJS 会通过设置手表自动更新我的视图,我应该如何处理呢?我是否应该有一个带有“actionsToBeExecuted”的模型对象,并且当它不为空时我触发“goUp()、goLeft()...”等函数?我怎样才能使它改变时触发功能?我不知道如何移植它,甚至是否应该移植它。