创建JS:使用"容器”;
Create JS: Usage of "containers"
我正在创建一个RPG,并希望将我的所有精灵添加到spriteContainer,将NPC添加到npcContainer,等等。原因是我可以简单地将容器及其相关标签添加到舞台上,而不是每个单独的精灵。
我将使用create-jscontainer
对象。
我想为容器设置一个初始的x,y
,但随后将容器中的每个元素都设置为不同的带有标签的x,y
。我应该不使用容器吗?集装箱的原因是什么?
感谢
编辑:我一开始调用addNPC,它创建了一堆东西,然后将它们添加到容器中:
function addNPCs() {
var NPCs = [];
spriteContainer = new createjs.Container();
spriteContainer.x = spriteContainerX-camX;
spriteContainer.y = spriteContainerY-camY;
spriteBMP = new createjs.Bitmap("myBmp.png");
spriteBMP2 = new createjs.Bitmap("myBmp.png");
spriteBMP3 = new createjs.Bitmap("myBmp.png");
spriteLabel = new createjs.Text("Hey kitty! Come talk to me!", "14px Arial", "white");
spriteLabel.y = -70;
NPCs.push(spriteBMP, spriteBMP2, spriteBMP3);
for (npcs in NPCs) {
spriteContainer.addChild(npcs);
console.log("added " + npcs);
}
}
然后添加容器:
stage.addChild(spriteContainer);
Containers提供了一种非常简单的方法来对对象进行分组,并将它们作为一个对象进行控制。这使得变得简单
- 一次转换/平移一组项目(移动、旋转和缩放容器、设置alpha、compositeOperation、阴影等)
- 将一组对象缓存为一个对象(
container.cache(0,0,w,h)
以提高性能 - 保持不同的排序顺序,例如将所有前台元素添加到容器中,将所有游戏精灵添加到容器,将所有背景元素添加到一个容器中,然后在每个容器中进行排序,但不必担心不同层中的元素混在一起
简而言之,这只是管理内容组的一种有用方法。您不需要使用它,但它不会对性能产生巨大影响,因此它绝对推荐用于任何复杂的应用程序。
相关文章:
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 根据元素和容器大小计算边距
- 滚动到容器中的下一个元素-几乎到了
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- JQuery动画延长容器不起作用
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- 如何解决错误“;错误:外部容器'null'找不到"来自Jssor Slider
- 创建JS:使用"容器”;
- "禁用“;(灰色文本,没有鼠标/键盘)jQueryUI小部件和容器中的常规HTML
- "完美滚动条”;(jQuery插件)不是't在其容器中填充Angular.js时正确初始化