问题标签 [displayobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
632 浏览

c# - 数据传输对象 (DTO) 到 DisplayObject (DO) - 如何将 DTO 展平为 DO 集合属性

我想使用 LINQ 将一组 DTO 扁平化为一个 DO,但我的 LINQ-fu 很弱。

我的 DTO 如下所示:

并映射到具有此架构的 SQL 数据库表:

Product、Location 和 Month 都继承自 LookupEntity,如下所示:

然后我有一个看起来像这样的 DO:

DataValue 是一个值对象,如下所示:

我可以使用 NHibernate 获得 DTO 的列表,但我在将它们扁平化到我的 DO 时遇到了问题。我想使用 LINQ 来创建 DO。我需要做些什么来获得一个从 Product 和 Location 中键入的 DO 集合,其中包含按月包含数据的 DataValue 对象列表?

换句话说...

这是一个示例源数据集:

我可以将它映射到 DTO 就好了。我现在想使用 LINQ 获取 2 个 DO 实例,每个实例都有一个包含 3 个 DataValue 实例的列表。

0 投票
2 回答
829 浏览

flash - 有没有办法检查 DisplayObject A 是否是 DisplayObject B 的后代?

我希望能够快速检查给定的 DisplayObject 是否是另一个 DisplayObject 的后代(不是继承意义上的 - 即子、孙、曾孙、曾曾孙等)。

似乎没有本地方法可以做到这一点,我只能想到两种方法来实现它:

  1. 创建所有嵌套循环的母亲。似乎有点,我不知道,错了吗?
  2. 在“孩子”处发送冒泡事件并检查潜在的“父母”是否收到它。

我现在正在尝试后者,但希望能提供一些意见。我想创建一个不错的实用静态函数,例如:

0 投票
1 回答
378 浏览

actionscript-3 - 2 轴上的动作脚本旋转不同于 1 轴

我有 2 个 DisplayObject,一个包含另一个,如下面的代码:

var sprite1:Sprite = new Sprite();

sprite1.addChild(loader1); // assume that I have load picture on to loader1

loader1.rotationZ = 30;

sprite1.rotationZ = -30; 如果我运行上面的代码,loader1 上的图像看起来就像它根本没有旋转,因为它的容器以相反的方向旋转。正如我所料,这是正确的。

但是,如果我对代码进行了多轴旋转:

loader1.rotationZ = 30;

loader1.rotationY = 50;

sprite1.rotationZ = -30;

sprite1.rotationY = -50;

现在,loader1 将以不同的角度旋转。我的问题是,为什么它不相互抵消?注意,loader1 和 sprite1 的 x,y,z 位置都在 0,0,0。无论旋转 X、Y 还是 Z,都会出现此问题。如果您有 1 个轴,则可以正常工作。2轴,不会。

我发布此示例代码是因为我试图了解 Flash 如何在 3D 中旋转。在 AS3 文档中,它声称它围绕其“3D 父容器”旋转,那是什么?

0 投票
3 回答
942 浏览

actionscript-3 - 在 AS3 中将 Sprites 一起加入?

所以创建了一个 Sprite,我在其中添加了其他作为游戏图块的 Sprite。每个图块的大小为 60 x 60 像素。结果我有大约 200 个孩子(那些瓷砖)的 Sprite。当我尝试 startDrag() 容器精灵移动时滞后非常明显..

有没有办法像加入瓷砖精灵这样容器只有 1 个子精灵而不是 200 个?因为它滞后太多可能导致它需要移动(更改 x 和 y)所有这 200 个图块。我正确吗?

在这种情况下,我不能使用 cacheAsBitmap 属性,因为用户可以放大或缩小地图..

0 投票
3 回答
4454 浏览

actionscript-3 - 如何以编程方式访问 DisplayObject 的所有子项?

如何使用代码访问 DisplayObject 的所有子项?(我正在寻找类似的东西movieclip.children

我在两种情况下使用它:

1) 循环并重新定位封闭 MovieClip 的所有子项。

或者

2) 循环并删除 MovieClip 的所有子项

此外,这是一个 Flash CS5 项目。

0 投票
1 回答
758 浏览

actionscript-3 - 在 FrameEnter 上跨舞台移动影片剪辑

我正在制作一个图片库,我希望在屏幕底部有一堆缩略图,当鼠标移动时,它们可以平滑地左右滑动。

我正在使用容器的自定义类(Tiles)和缩略图的自定义类(ImageIcon)。

我有一个允许用户选择画廊的组合框。当用户选择图库时,将运行以下代码并重新加载缩略图。这里的问题是图标彼此重叠而不是并排出现,切换类别也应该删除旧的(参见第一个 for 循环),但事实并非如此。此外,图标的动画效果不正确。动画代码也在下面。现在,只有一个图标会移动。图标应该按顺序从一边移动到另一边,当最后几个图标碰到屏幕边缘时停止,这样它们就不会“丢失”到一边的某个地方。

图库加载程序代码:

图标动画代码:

0 投票
2 回答
750 浏览

actionscript-3 - Actionscript 3 删除子节点

嗨,我是 AS3 的新手,我想知道在某个时间点移除孩子的最佳方法是什么。我试过

但是返回的 ArgumentError: Error #2025: 提供的 DisplayObject 必须是调用者的子对象。

有什么建议么?

0 投票
1 回答
491 浏览

apache-flex - 捕获 Flash/Flex 重绘 DisplayObject 事件?

我正在尝试为滚动区域中的某些 MovieClip / Sprite 对象捕获重绘事件。

理想情况下,应该能够在 Flash Player 自身重绘对象时捕获事件,如 FP 调试中的“显示重绘区域”所示。

我尝试使用 Event.RENDER 来捕获它,但它甚至会在对象不可见/重绘时触发。

是否有任何原生 Flash 事件可以帮助我准确地捕捉到这一点?

蒂亚!

0 投票
1 回答
151 浏览

flash - 如果超过父显示对象的高度,我可以隐藏子显示对象吗?

嘿,我为玩家构建了一个插件,并创建了一些精灵。

第一个精灵是背景,它是 0.6 的黑色 alpha。然后我根据用户正在观看的视频添加 n 个孩子。

背景的宽度和高度是播放器实际宽度和高度的 0.75,我添加的孩子每个都是 34 像素,它们是通过数组添加的。

当播放器很小时,我有一个问题,孩子的组合宽度大于父母的宽度。

所以我想知道是否有办法隐藏孩子或保持在父母的高度,这样它就不会溢出。当您将鼠标悬停在它上面时,它会上下滚动。

谢谢

这个演示没有溢出,只是多了4个链接,当它出现时点击购物标志

http://elvis.rowan.edu/~majeko02/http-f/JWPLayer.html

0 投票
2 回答
577 浏览

actionscript-3 - 从 DisplayList 中删除数组对象

我正在使用 Flash 为 iPhone 开发游戏,由于内存至关重要,我想清理不需要的 displayObjects。我需要删除的所有对象都是使用 splice() 从某个数组到另一个数组的 MovieClip。这是代码。

{ randomNr = Math.random();

{ var newFriend:Friend = new Friend(randomX, -15 ); newFriend.cacheAsBitmap = true; 军队.push(新朋友);addChild(新朋友); }

for (var i:int = 0; i < Army.length;i++) { Army[i].y += 3;

} }

{ var totalDel:int = deleted.length; for(var i:int = 0; i < totalDel ;i++) { removeChild(deleted[i]); } trace(totalDel + "删除删除"); }

我的问题是尝试使用 CleanUp 功能时出现错误。我可以跟踪数组中的所有对象,它们显示为 [object Friend],但是当尝试从 displayList 中删除时,我收到此错误:错误 #1034:类型强制失败:无法将 []@2c11309 转换为 flash.display。显示对象。

可能是我使用的错误方法!?需要一些指导请:)