gpt4 book ai didi

javascript - 扩展 JavaScript 对象

转载 作者:行者123 更新时间:2023-12-02 18:20:10 25 4
gpt4 key购买 nike

我目前正在使用 javascript 和 HTML5 Canvas 开发平台游戏引擎。

我有一个对象,“平台”,看起来像这样......

var platform = function(pid,px,py,pw,ph) {
//Some variables here... and then we have some functions
this.step = function() {
//Update / step events here
}
this.draw = function() {
//Drawing events here
}
//etc.
}

step() 函数负责碰撞检测的所有计算,而draw() 函数则绘制平台。

我想做的是创建另一个名为 movingPlatform 的对象。除了移动这一事实之外,这几乎与当前平台相同。

我不想复制所有碰撞检测代码,而是希望能够从平台扩展 movingPlatform...然后能够将一些额外的代码添加到移动平台的 step() 函数中...好吧...移动。

一些附加信息...

游戏加载时,它会使用 CSV 文件中的数据生成关卡。我有一个数组,platforms[],它存储其中的所有平台。

因此,要创建一个平台,它看起来像这样......

platforms.push(new platform(i,data[1],data[2],data[3],data[4]));

然后,我让平台在游戏的主要步骤和绘制事件期间执行其步骤和绘制事件。

for(var i=0; i<platforms.length; i++) {
platforms[i].step();
}

任何帮助都会很棒。谢谢!

最佳答案

我将使用平台类作为移动平台对象的“基础”对象。我将通过原型(prototype)来完成此操作,原型(prototype)是 JavaScript 的面向对象编程实现。

更多信息请点击 How does JavaScript .prototype work?+ 网络上还有更多文章

关于javascript - 扩展 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18908446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com