问题标签 [flex4]
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.
actionscript-3 - Flex/AS3 和 AppEngine 的安全沙盒问题
我在处理 App Engine 上托管的 AS3 AMF RemoteObject 请求时遇到问题。我在域的根目录中有一个 crossdomain.xml 文件,在远程端点也有一个。
以下是根 crossdomain.xml 的内容:
<?xml version="1.0"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies ="all"/>
<allow-access-from domain="*.appspot.com"/>
<allow-access-from domain="*.{appid}.appspot.com"/>
<allow-access-from domain="*.{appid}.com"/>
<allow-access-from domain="*.{appid}.org"/>
</cross-domain-policy>
我已将我的应用程序 ID 替换为 {appid}。在端点 crossdomain.xml 中,它表示完全相同的内容,只是省略了<site-control>
标记。
加载 swf 文件并在我的机器上测试它工作得很好......我认为这可能与我拥有 Flash Player 的调试器版本有关。当我将它推送到 App Engine 以将其公开时,其他客户端访问它并获得一个Client.Error.MessageSend Channel.Security.Error error Error #2048 url: http://05-alpha.latest.{appid}.appspot.com/_rpc/data
.
我正在使用 Flex 4 beta 和 App Engine Python 运行时。我已经在跨域中尝试了完整的通配符,甚至在相对 URL 上访问数据端点以避免此错误。
有人请帮忙!提前致谢。
apache-flex - 外部 swf 控制 flex 应用程序?
我有一个加载外部 swf 文件的 flex 应用程序。我使用 flash cs4 创建了外部 swf 文件,因此如果需要的话,我可以向其中添加代码。
这是我用来加载外部 swf 的代码:
我可以让我的外部 swf 将点击事件发送到我的 flex 应用程序吗?如何?
apache-flex - Flex 4 中的 mx/fx/s 对象类型有什么区别?
Flex4 提供以下命名空间:
有什么不同?哪个命名空间提供哪个功能?我在哪里可以找到这方面的信息?
apache-flex - flex 4:带有来自soap的数据提供者的项目渲染器:无法将ir@194e5851转换为mx.controls.listClasses.IListItemRenderer
我正在尝试<mx:List>
使用从肥皂请求中收到的 dataProvider 填充。当我尝试实现此目的时出现以下错误:
TypeError: Error #1034: Type Coercion failed: cannot convert AchivementsItemRenderer@1906a851 to mx.controls.listClasses.IListItemRenderer.
at mx.controls::List/createItemRenderer()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\controls\List.as:1987]
at mx.controls::List/http://www.adobe.com/2006/flex/mx/internal::getMeasuringRenderer()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\controls\List.as:1896]
at mx.controls::List/commitProperties()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\controls\List.as:911]
at mx.core::UIComponent/validateProperties()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\core\UIComponent.as:7387]
at mx.managers::LayoutManager/validateProperties()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\managers\LayoutManager.as:572]
at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\managers\LayoutManager.as:700]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\gumbo_beta2\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1069]
如果我在 a 上使用相同的 dataProvider,<mx:Repeater>
它可以正常工作。我错过了什么?
.mxml 文件
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
xmlns:local="*" backgroundColor="#aabbcc" fontSize="11" creationComplete="init()">
`
`
项目渲染器
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
xmlns:local="*">
flex4 - flex 4:带图像的蒙皮切换按钮
我正在尝试为带有图像的按钮设置皮肤。
我添加了以下CSS代码:
单击按钮时,我看不到任何图像。有任何想法吗 ?
apache-flex - Flex:MX + Sparks 与仅 MX 组件
我正在玩 Flex 的视频组件。开始一个新项目时,我可以在(仅限 MX)和(MX + Sparks)之间进行选择。当我将项目设置为 (MX + Sparks) 时,我发现的唯一视频组件称为 s:VideoPlayer,它带有皮肤。当我以(仅限 MX)启动项目时,我发现的唯一视频组件是 mx:VideoDisplay,它没有皮肤。我不确定该选择哪一个。
一个应该比另一个更好或更先进或更少错误?
它们之间是否存在兼容性差异?例如,它们是否都在闪存 9 和 10 中工作?
如果新的 s:VideoPlayer 更好,有没有办法将项目设置为新的(MX + Sparks),但仍然可以自定义皮肤。
您为新的 s:VideoPlayer 组件推荐了哪些教程?
谢谢
apache-flex - flex4:使用 swfloader 从加载的 swf 中获取事件
我有一个使用 SWFLoader 类加载子 swf 的主 swf。子 swf 正在使用 NetConnection 类连接到 adobe flash 媒体服务器。使用父 swf 我想显示有关连接的状态。我怎样才能做到这一点 ?
flash - flex4:使用 swfloader 加载 flex4 swf 仅显示加载栏
我尝试使用以下代码行在我的 flex 4 项目中加载一个 swf:
demo.swf 文件是我使用 flex 4 创建的另一个项目。问题是,当我运行应用程序时,我只看到 demo.swf flash 文件的加载栏,没有其他内容。
如果我尝试加载不同的 swf 文件(例如我下载的游戏),它加载得很好。
我错过了什么?
image - 在 Adobe Air 应用程序中显示大 PNG 图像
我有一个最低限度的 Adobe Air 应用程序;它基本上是一个s:SkinnableContainer
内部的mx:WindowedApplication
。我有一个 6000 x 9000 像素的 PNG 图像(~3.20MB),我想在SkinnableContainer
. 请注意,这s:SkinnableContainer
是来自 Flex 4 Beta3(火花组件)的标签。
背景
在我解释这个问题之前,先介绍一下这个应用程序的背景知识。这个 Air 应用程序应该在服务器端运行,并定期检查数据库并读取描述SkinnableContainer
. 此标记实际上来自最终用户用来创建此图形内容的 Flex Web 应用程序。这个 Air 应用程序应该做的是使用 Flex Web 应用程序中使用的真正高分辨率版本的图像,并重新创建最终用户在浏览器中创建的图形内容的高分辨率版本。Air 应用程序最终会将 的内容SkinnableContainer
作为位图写入文件。
我们使用 Air 应用程序的原因是为了确保在浏览器上呈现的较小版本的图形内容与 Air 应用程序将生成的高分辨率版本之间呈现 100% 的一致性。
问题
我面临的问题是这个 3.20MB 的图像在设置为s:Skin
应用到SkinnableContainer
. 如果我使用较小版本的图像,尺寸为 3000 x 4500 像素,大小为 1.73MB,则会在应用程序中呈现。我在调试模式下运行应用程序,当大图像失败时我没有得到任何异常。在这两种情况下,子图形元素都SkinnableContainer
可以很好地呈现。
更多实施说明:
- 皮肤的来源是图像的 URL,目前,
http://localhost/foo/bar.png
. 我可以通过从 Firefox 中点击它来访问图像。 - 我将来源设置如下
BitmapImage([get the skin].backgroundImage).source = "http://localhost/foo/bar.png"
:
是否有我应该知道的由 Air 强制执行的内存限制?这是火花组件之一中的错误吗?为什么我没有任何异常?最重要的是,我该如何解决这个问题?
apache-flex - 何时需要在 Flex 失效框架中重置脏标志“invalidatePropertiesFlag”?
让我们参考 Flex 3 (Flex 4) SDK 的 mx.core.UIComponent 类中的方法“validateProperties”列表
我的问题是:
为什么在commitProperties调用之后会重置脏标志invalidatePropertiesFlag而不是在此调用之前?
我推测这是因为:
1)把脏标志放在IF块的末尾,简直是人生大事;
2) 如果commitProperties中的代码引发了RTE,在Flash Player 播放下一帧时,我们仍然有机会执行commitProperties中的代码,这一次可能代码不会引发RTE。
我问这个问题的原因是以下事实:
如果commitProperties中的代码将尝试使用脏标志和invalidateProperties无效调用来使另一个UIComponent的属性无效,则此无效调用将不会添加到mx.managers.LayoutManager.invalidatePropertiesQueue ,因为之前尚未重置脏标志invalidatePropertiesFlag提交属性调用。