Javascript 访问相关图形对象的更好方法是什么
我特别要求提供Javascript 访问相关图形对象的更好方法是什么,javascript,html,2d-games,pixi.js,Javascript,Html,2d Games,Pixi.js,我特别要求提供javascript,尤其是pixijscanvas-webgl库,但这个问题很容易推广到制作游戏中 我正在开发一个简单的2D游戏。在游戏中,有各种各样的物体被渲染成在屏幕上可见,并且通常它们彼此相关。例如,有5个敌人角色,每个角色都有一个武器、一个名字文本、一个生命点栏等,可以一起显示在屏幕上 为了对所有这些图形对象进行分组,通常有一个容器,即敌人,其对象被放入子对象数组中 但是我以后如何访问代码中的一个特定对象?敌人[3]。子对象[0]并不意味着什么,索引可以更改。我想要得到的
javascript
,尤其是pixijs
canvas-webgl库,但这个问题很容易推广到制作游戏中
我正在开发一个简单的2D游戏。在游戏中,有各种各样的物体被渲染成在屏幕上可见,并且通常它们彼此相关。例如,有5个敌人角色,每个角色都有一个武器、一个名字文本、一个生命点栏等,可以一起显示在屏幕上
为了对所有这些图形对象进行分组,通常有一个容器,即敌人
,其对象被放入子对象
数组中
但是我以后如何访问代码中的一个特定对象?敌人[3]。子对象[0]
并不意味着什么,索引可以更改。我想要得到的是,例如,敌人的id为language-1
的武器,属性为race=hobbit
在小精灵中,我找不到这样的例子。在Kineticjs中有find
方法。在《小精灵》里我也没看到
我认为有3种方法可以在javascript中实现这一点(使用pixijs):
- 编写一个常规的
find
方法,该方法允许根据对象的属性搜索对象,每次我需要对象时,在容器中进行搜索。这就像在KineticJs中一样。但效率有多高
- 用所有图形对象保存一个巨大的javascript
map
,然后使用其变量名立即到达我想要的对象,即map.stage.friends.hobbits[0].武器.weapon1
。但是我怎么能维持这个呢?似乎很容易失控。此外,还需要一个find
函数来搜索动态变化的属性
- 与第二种类似;将子对象作为变量添加到父对象,即,
var-wearm=new-wearm();敌方。addChild(武器);敌方武器1=武器代码>,然后在知道其变量名的情况下轻松访问该对象。但是,对象已经保存在子对象中,是否需要以第二种方式再次维护
在我看来,第一个更好。但是,
您如何做得更好?你是怎么组织的?有更好的第四条路吗?
谢谢。毫无疑问,您的选项二将是我的第一选择,您是否可以展开“动态更改属性”。@KФ例如,当单击对象时,我们可以将“isClicked”属性更改为true,然后我们可以搜索“clicked”子项。是的,对于mvc模型,这可能在模型部分,但是想象一下我们想要在图形对象本身上保留这样的属性。毫无疑问,您的选项二将是我的第一选择,您可以扩展“动态更改属性”吗?@KФ例如,当单击对象时,我们可以将“isClicked”属性更改为true,然后我们可以搜索“点击”的孩子。是的,对于mvc模型,这可能在模型部分,但是想象一下,我们想要在图形对象本身上保留这样的属性。