我在闪存(AS3)中有相机输入应用程序,我在上面绘制一些图形.我想拍摄舞台可见区域的图像快照,但只有视频是我在视频上绘制的图形.我想从图像快照中排除控件.我的显示对象布局如下:
-stage
--canvas (Sprite)
---video (Video)
---overlayed graphics (Sprites, MCs, Shapes)
--controls (Buttons)
Run Code Online (Sandbox Code Playgroud)
舞台大小是固定的,我想拍摄我的画布元素的所有内容的图像快照(相机输入视频和重叠图形,但不包括控件).当叠加的图形在舞台大小的范围内时,我能够使这个图像快照.我是这样做的:
var bmpd:BitmapData = new BitmapData(canvas.width, canvas.height);
bmpd.draw(canvas, new Matrix(1, 0, 0, 1, canvas.x, canvas.y));
Run Code Online (Sandbox Code Playgroud)
但是,当我在画布上的视频上绘制的图形超出舞台显示区域的界限时,这会给我带来不必要的结果.如何仅在舞台内可见区域的范围内限制图像快照?
谢谢
我有一个bash脚本,我想在其中向用户显示图像.使用ImageMagick可以实现这一点display.
display image.png
Run Code Online (Sandbox Code Playgroud)
但现在终端窗口的焦点丢失了,并被放置在图像上.要继续我的bash脚本,我必须要求用户在继续之前单击终端.这是不受欢迎的行为.
有没有办法显示图像而不会失去我的bash终端的焦点?我想让它在Ubuntu Linux(12.04)上运行.

如何使用代码访问DisplayObject的所有子项?(我正在寻找类似的东西movieclip.children)
我在两种情况下使用它:
1)循环并重新定位封闭的MovieClip的所有子节点.
要么
2)循环并删除MovieClip的所有子项
此外,这是一个Flash CS5项目.
flash.display包装中有大量的显示对象.我不清楚我应该使用什么情况Shape,Sprite或者MovieClip.使用它们的专业人士和反对者是什么?
先感谢您!!
我已经找到了当你到达滚动位置时如何显示div.我用来做的JQuery代码是这样的:
$(window).scroll(function() {
if ($(this).scrollTop() > 75) {
$("#ddmenubg2:hidden").fadeIn('slow');
}
else {
$("#ddmenubg2:visible").fadeOut("slow");
}
Run Code Online (Sandbox Code Playgroud)
});
据我所知,这是告诉div ddmenubg2在你到达75滚动标记之前被隐藏,然后在那个标记之外的任何地方,div保持可见......并且在那个标记之前的任何东西,div被隐藏.但是,出于某种原因,ddmenubg2 div在75像素标记之前就在我的页面上.然后当我超过75分时,div消失并重新淡入.这只发生在第一页加载或刷新时,它会在您多次向上和向下滚动后正常工作,但每当您刷新页面时,这个问题就会发生,直到您向下滚动.
现在,这个问题的一个简短修复就是让ddmenubg2 div显示"无".这实际上修复了整个滚动问题,但它使我的主菜单运行不正常.
那么我怎么做到这一点让ddmenubg2 div在你超过75之前保持隐藏并且一旦你超过75就停留...即使在第一页加载或刷新?
display.newImage()和之间有什么区别display.newImageRect()?
哪一个更好用?
在ActionScript 3中,如果我遍历影片剪辑的子代,它将返回一个DisplayObjectContainer,它是一个DisplayObjects列表.
但是,AS3 typeof无法识别MovieClip,因为MovieClip现在是一个对象,而不是数据类型.如何正确识别MovieClip?
我在网上找到3个解决方案
解决方案1(我正在使用的解决方案):
首先将MovieClip名称设置为特定名称,然后在迭代过程中,使用child.name.indexOf("specificName")> -1检查子项的名称
解决方案2:
使用child.hasOwnProperty("numChildren")来标识MovieClip
解决方案3:
使用像FlashDevelop这样的第三方插件
哪种解决方案最好?还是有其他选择吗?
我试图通过AS3动态地访问图层.但后来我发现AS3 API中的层没有(或者我搜索不够).
如果这是真的,在IDE中命名层对代码完全没有意义?
怎么了?它们是否DisplayObject在运行时被转换为一堆索引?
我是否总是必须引用孩子的索引位置来堆叠(urgh)中间的新孩子?
如果没有那些命名的层,那对我来说似乎都很混乱......我只是希望自己是模棱两可的.:■
我刚试过在论坛上翻版,但我无法将自定义字体添加到系统中.这就是我所做的:
我确保姓氏和字体名称与Typelight程序相同.

然后我只需更改根目录中文件的名称并将其拖到Outlaw.之后在display.newText中写入文件名.

你能告诉我我做错了吗?
[编辑]嗯,问题是我没有使用Windows字体查看器安装该字体.在使用WFV安装并从字体参数thx krs中删除扩展后,我终于显示了带有自定义字体的文本=)YAY!
我希望能够快速检查给定的DisplayObject是否是另一个DisplayObject的后代(不是继承意义上的 - 即子,孙子,曾孙,曾孙子等).
似乎没有本地方法来做到这一点,我只能想到两种方法来实现它:
我现在正在尝试后者,但会欣赏一些意见.我想创建一个很好的实用程序静态函数,例如:
static public function isDescendantOf(child:DisplayObject, parent:DisplayObjectContainer):Boolean {
var isDescendant: Boolean = false;
// perform some magical
// check that returns true
// if it is a descendant
return isDescendant;
}
Run Code Online (Sandbox Code Playgroud) displayobject ×10
flash ×5
coronasdk ×2
image ×2
actionscript ×1
addchild ×1
bash ×1
css ×1
flash-cs5 ×1
flashdevelop ×1
fonts ×1
imagemagick ×1
jquery ×1
layer ×1
linux ×1
lua ×1
movieclip ×1
optimization ×1