我目前正在使用和享受使用Flex MVC框架PureMVC.我听说过一些关于Cairngorm的好东西,它得到了Adobe的支持,并且具有市场第一的动力.还有一个名为Mate的新玩家,它有很多嗡嗡声.
有没有人尝试过这些框架中的两个或三个并形成了意见?
谢谢!
假设我有一个数字数组: [2,3,3,4,2,2,5,6,7,2]
找到该数组中最小值或最大值的最佳方法是什么?
现在,为了获得最大值,我循环遍历数组,并将变量重置为该值,如果它大于现有值:
var myArray:Array /* of Number */ = [2,3,3,4,2,2,5,6,7,2];
var maxValue:Number = 0;
for each (var num:Number in myArray)
{
if (num > maxValue)
maxValue = num;
}
Run Code Online (Sandbox Code Playgroud)
这似乎不是执行此操作的最佳方式(我尽可能避免循环).
apache-flex algorithm complexity-theory actionscript actionscript-3
我正在创建一个Adobe Flex应用程序,我有一个Text控件(mx:Text),当你需要多行不可编辑的文本时(而不是Label,它是单行不可编辑的文本),它应该被使用.当我将浏览器窗口调整为小于文本(或者在浏览器窗口已经较小时加载它)时,我的文本控件不会换行.在查阅我发现的这个文档后,如果指定绝对宽度(以像素为单位),似乎只会发生自动换行功能.这正是我想要避免的.我希望文本换行以适应我的Flash对象的大小,以便它始终可见...有没有办法实现这一点,通过一些我缺少的属性或者可能是一个不同的控件?谢谢.
我正在使用Java实现的Restful架构开始一个项目(使用新的JAX-RS标准)
我们计划使用Flex应用程序开发GUI.我已经使用HTTPService组件(响应错误代码,标头访问...)发现了这个实现的一些问题.
你们中的任何人都有类似项目的经验.这可行吗?
我想按下Adobe AIR应用程序中的按钮并执行一些已安装的程序.例如,我会有一个名为"Start Winamp"的按钮.当它被按下它应该直接启动Winamp.exe ...我不希望执行一些命令行的事情,我只想要一个exe启动.或者......是一回事吗?如果可能,请告诉我.
谢谢.
FlexBuilder的调试器将向您显示任何范围内实例的"内存位置"(或者,我只能假设,大致类似):

但是我想在代码中获取这些信息(有点像Python的id功能),所以我可以很容易地跟踪对象如何在系统中移动.例如,我可能有:
trace("Returning", id(foo));
Run Code Online (Sandbox Code Playgroud)
然后我可以使用的其他地方:
trace("Using", id(foo));
Run Code Online (Sandbox Code Playgroud)
确保两个代码都处理相同的实例.
现在,我知道许多AS类实现了IUID接口......但是也有一些类没有(例如普通的旧数组和对象),所以这不能解决我的问题.
我意识到我也可以将对象包装成一个ObjectProxy,但这也不太理想.
我知道Flex非常好,但也开始使用Java FX.我有点困惑.Java FX似乎更关注低级绘图操作和动画.减少创建像Flex这样的标准UI.
那么JavaFX更像Flash而不是Flex吗?
另一方面,JavaFX还支持Swing组件以及数据绑定,这使它看起来更像Flex.
我正在尝试从Adobe AIR应用程序中请求需要基本授权标头的HTTP资源.我尝试手动将标头添加到请求中,以及使用setRemoteCredentials()方法设置它们,但无济于事.
这是代码:
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
private function authAndSend(service:HTTPService):void
{
service.setRemoteCredentials('someusername', 'somepassword');
service.send();
}
private function resultHandler(event:ResultEvent):void
{
apiResult.text = event.result.toString();
}
private function resultFailed(event:FaultEvent):void
{
apiResult.text = event.fault.toString();
}
]]>
</mx:Script>
<mx:HTTPService id="apiService"
url="https://mywebservice.com/someFileThatRequiresBasicAuth.xml"
resultFormat="text"
result="resultHandler(event)"
fault="resultFailed(event)" />
<mx:Button id="apiButton"
label="Test API Command"
click="authAndSend(apiService)" />
<mx:TextArea id="apiResult" />
Run Code Online (Sandbox Code Playgroud)
但是,仍然会弹出标准的基本身份验证对话框,提示用户输入用户名和密码.我有一种感觉,我没有以正确的方式做到这一点,但我能找到的所有信息(Flex文档,博客,谷歌等)要么没有用,要么太模糊无法提供帮助.
任何黑魔法,哦Flex大师?谢谢.
编辑:将setRemoteCredentials()更改为setCredentials()会产生以下ActionScript错误:
[MessagingError message='Authentication not supported on DirectHTTPChannel (no proxy).']
Run Code Online (Sandbox Code Playgroud)
编辑:经过Adobe的一些关注后,问题解决了.有关完整说明,请参阅下面的帖子.此代码适用于任意长度的HTTP身份验证标头.
import mx.utils.Base64Encoder;
private function authAndSend(service:HTTPService):void
{
var encoder:Base64Encoder = new Base64Encoder();
encoder.insertNewLines = false; …Run Code Online (Sandbox Code Playgroud) 假设我有一个可以介于0和1之间的滑块.它SoundTransform.volume也介于0(静音)和1(完整音量)之间,但是如果我使用线性函数,那么说SoundTransform.volume = slider.volume,结果相当不令人满意.
我真的没有研究人耳,但是我曾经无意中听到人类的感知是对数的,或类似的东西.我应该使用哪些算法来设置SoundTransform.volume?
apache-flex ×10
air ×3
flash ×3
actionscript ×2
algorithm ×1
audio ×1
command ×1
flex3 ×1
frameworks ×1
httpservice ×1
java ×1
javafx ×1
math ×1
rest ×1
text ×1
word-wrap ×1