我知道这里没有直接的答案,但我已经与几个似乎认为有可能的人进行了交谈。这是我的代码:
var Tile = function(xPos, yPos, state) {
this.createTile(xPos, yPos, state);
}
Tile.prototype = new createjs.Shape();
Tile.prototype.createTile = function(xPos, yPos, state) {
// debugger;
this.x = xPos;
this.y = yPos;
this.onState = state;
var fillCommand = this.graphics.beginFill("#969696").command;
var shapeCommand = this.graphics.drawRoundRect(0, 0, 50, 50, 10).command;
this.on("click", function(){this.toggleState(fillCommand);});
stage.addChild(this);
stage.update();
}
Tile.prototype.toggleState = function(fillCommand) {
if (this.onState === true) {
fillCommand.style = "#969696";
stage.update();
this.onState = false;
} else if (this.onState === false) {
fillCommand.style = "#000000";
stage.update();
this.onState = true;
}
}
如果有人熟悉Shape(),则可以在easyljs中实现。基本上,我在这里创建一个Tile类来表示小的圆形正方形,这些正方形在被按下时会改变颜色。语法方面,我没有任何错误,网页上没有任何显示。我已经有了正确的代码来调用Tile,并且画布已经设置好,或者我也将该代码放在了这里。我要问的是,在此实现中我是否有正确的主意?
最佳答案
这有点不合常规,但是如果它对您有用,那么您将获得更多功能。从Shape继承的更常见方法是做类似
Tile.prototype = Object.create(createjs.Shape.prototype);
Tile.prototype.constructor = Tile;
Java脚本中的继承有些奇怪,因此,除非您有时间和精力去做一个深陷的兔子洞,否则我建议您坚持使用正在起作用的东西。如果您想阅读更多,这是一篇很好的入门文章:http://ejohn.org/blog/simple-javascript-inheritance/
关于javascript - 是否可以扩展已经从另一个类继承的类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26921416/