小编1.2*_*tts的帖子

从 zip 存档中提取 zip 文件,而不将整个文件加载到内存中

有没有办法从 Adob​​e AIR 中的 zip 文件中提取单个文件?

我正在使用 NoChumps zip 库从 zip 中提取文件。在这个库中,整个 IDataStream 被加载到内存中,之后您可以轻松提取文件条目。如果 zip 大小为 5 到 10MB,则没有问题。但是当 zip 大小为 80MB 时(很多都是这样),80MB 会被加载到内存中。这会导致应用程序崩溃并且在移动设备上运行缓慢。根据拉链规格,

“ZIP 文件通过位于文件末尾的中央目录来识别,这允许附加新文件。该目录存储 ZIP 文件中存储的条目(文件或目录)名称的列表,以及有关该条目的其他元数据,以及 ZIP 文件中的偏移量,指向实际的条目数据。”

另外,我无法控制 zip 文件的大小,但大多数平均大小为 60 到 100MB。里面的文件大约有4MB。

apache-flex air zip

5
推荐指数
1
解决办法
1854
查看次数

如何将MXML文件内嵌到另一个MXML文件中?

我想在MXML文件中包含一个MXML文件,就像使用include指令在AS3中包含外部文件一样.使用include伪指令在编译时将外部文件中的代码放入原始文件中,并将其置于同一范围内.

例如,

Application.mxml:

<Application>

    <source="external.mxml"/>

</Application>
Run Code Online (Sandbox Code Playgroud)

External.mxml:

<Styles/>

<Declarations>
    <Object id="test"/>
</Declarations>
Run Code Online (Sandbox Code Playgroud)

我需要将此代码/ mxml/xml保留在原始范围内的外部文件中.不要问我为什么要这样做.

另一个例子.这是我当前的代码(简化)全部在1 mxml文件中:

...

File1.mxml
<Button click="clickHandler()"/>

<Script>
public function clickHandler():void {

}
</Script>
Run Code Online (Sandbox Code Playgroud)

...

这就是我想要的:

...

File1.mxml
<Group>

    <source="File2.mxml"/>

    <Button click="clickHandler()"/>

<Group>


File2.mxml
<Script>
public function clickHandler():void {
    trace(this); // File1.mxml
}
</Script>
Run Code Online (Sandbox Code Playgroud)

...

我想将我的代码拆分成一个单独的文件......

~~ 更新 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~

虽然不是我要求使用"代码隐藏"方案,但实现了将代码从视图中分离出来的部分功劳.因此,我创建了一个MXML文件,MyGroup.mxml或MyGroup.as,并扩展了包含clickHandler代码的Group.

这个方法的问题是我被锁定到我正在扩展的类类型,硬编码视图.因此,例如,如果我要拆分为单独文件的MXML类是Group,则必须扩展Group.

我已经完成了这项工作的项目,但并不好.人们开始在类后面的代码中设置样式和可视方面或组/查看特定属性,如果我们需要更改它或布局,我们最终将所有这些依赖项放到容器中.它变得一团糟.另外,使用Code Behind,您无法重用它(重用方式包括styles.as被重用).所以这不是一个解决方案,但我想我会提到它.

这是一个示例背后的代码,

MyGroupBehind.mxml:

<Group>

   <Script>
   public function clickHandler():void {
       trace(this); // File1.mxml
   }
   </Script>

</Group>
Run Code Online (Sandbox Code Playgroud)

MyGroupAhead.mxml:

<MyGroupBehind>

    <Button click="clickHandler()"/>

</MyGroupBehind>
Run Code Online (Sandbox Code Playgroud)

apache-flex mxml flex4

5
推荐指数
1
解决办法
3869
查看次数

如何在Flex中刷新应用程序?

我在Flex 4中设计了一个测验应用程序.最后我想重新加载我的应用程序(即在浏览器中刷新页面).最后,我将在警报中显示分数.之后我想重新加载当前的应用程序.我怎样才能做到这一点?

browser apache-flex actionscript-3 flex4

5
推荐指数
1
解决办法
6922
查看次数

AS3单例实现

我见过很多单身人士的实现,我只想要一个单身人士

1.-第一次调用的实例2.-实例只有一次(duh)

因此,在性能和最低内存消耗方面,最好的实现是什么?

例1

package Singletons
{
    public class someClass
    {
        private static var _instance:someClass;

        public function AlertIcons(e:Blocker):void{}

        public static function get instance():someClass{
            test!=null || (test=new someClass(new Blocker()));
            return _instance;
        }
    }
}
class Blocker{}
Run Code Online (Sandbox Code Playgroud)

例题

public final class Singleton
{
    private static var _instance:Singleton = new Singleton();

    public function Singleton()
    {
        if (_instance != null)
        {
            throw new Error("Singleton can only be accessed through Singleton.instance");
        }
    }

    public static function get instance():Singleton
    {
        return _instance;
    }
}
Run Code Online (Sandbox Code Playgroud)

例3

package …
Run Code Online (Sandbox Code Playgroud)

actionscript-3

5
推荐指数
1
解决办法
1万
查看次数

在Ace编辑器中是否存在键盘启动保存的事件?

在Mac和Windows中按COMMAND + S或CTRL + S时,它通常用于保存文档.Ace Editor是否有一个我可以听的跨平台事件?如果不是,我将如何捕获用户键盘启动的保存事件?

ace-editor

5
推荐指数
1
解决办法
1292
查看次数

创建具有边框边和单独的角半径的边框容器

在Spark BorderContainer组件中,边界边和边角半径样式未从晕组件集中复制(请参见此处).

特别:

  • borderSides(左,上,下,右)
  • cornerRadius(TL/TR/BL/BR)
  • borderThickness(左/右/上/下)*可选
  • backgroundAttachment(固定,滚动)*可选

我一直试图手动添加它们但我遇到了一些困难.

我从HaloBorder.as皮肤中带来了一些代码,除了它出现在背景填充后面之外它是有效的.

这是很多代码所以我在这里粘贴它.

BTW那段代码是我的第一个方法.但看起来我可以使用已经存在的insetPath来绘制边框.那会更好,因为它允许我设置所有笔划属性,但我不知道如何编写路径数据,所以我也必须学习它.但在这一点上,我很乐意让任何工作.

更新:
我发现了一个类,它有一些生成弯曲边框路径数据的方法.查看spark/skins/spark/TabBarButtonSkin.mxml.您可以在createPathData()方法中查看此处的代码.

apache-flex flex4 halo

5
推荐指数
0
解决办法
237
查看次数

为什么E4X已被弃用并从某些浏览器中删除?

为什么E4X已被弃用并从某些浏览器中删除?

警告:E4X是obselete.默认情况下,它在Firefox 17中被禁用,并在Firefox 21中被完全删除.请使用DOMParser/DOMSerializer或非本机JXON算法.

https://developer.mozilla.org/en-US/docs/Archive/Web/E4X/Processing_XML_with_E4X

xml firefox e4x

5
推荐指数
1
解决办法
391
查看次数

HTML/HTML5的默认命名空间是什么?

根据这个名为"w3c"的用户的页面,HTML的默认命名空间是:

http://www.w3.org/1999/xhtml
Run Code Online (Sandbox Code Playgroud)

他显然是错的,因为xhtml被用于基于XML的HTML4标准失败.我应该使用什么是正确的命名空间?

背景:我正在编写一个使用XML的应用程序.我希望能够使用命名空间在XML节点上保存数据.例如,

<s:Button width="100" height="100" html:color="blue" color="black" /> 
Run Code Online (Sandbox Code Playgroud)

XML解析器需要"html"前缀的命名空间才有效.

html xml html5 xml-namespaces

5
推荐指数
2
解决办法
6348
查看次数

如何在HTML中指定Javascript的版本

随着新的JavaScript ES6的推出.我想知道如何指定版本.

假设,如果我想使用HTML5,我会在html页面的顶部声明

<!DOCTYPE HTML> 
Run Code Online (Sandbox Code Playgroud)

同样,如果我认为使用jQuery然后我使用jQuery 2.1.4或任何我做的src指向下面的url

https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js
Run Code Online (Sandbox Code Playgroud)

这就是我们用html编写js的方法.

<script type="text/javascript"> 
 //js
</script>
Run Code Online (Sandbox Code Playgroud)

要么

<script type="text/javascript" src="external.js"> </script>
Run Code Online (Sandbox Code Playgroud)

如何在脚本中使用ES6版本,以防浏览器不支持,请回退到ES5.

javascript ecmascript-6

5
推荐指数
2
解决办法
3209
查看次数

使用SpeechSynthesisUtterance API时可以选择正在读取的单词吗?

使用SpeechSynthesisUtterance API 时可以选择正在读取的单词吗?

我可以用来获取当前语音和光标位置的事件吗?

这是我到目前为止的内容:

var msg = new SpeechSynthesisUtterance();
var voices = window.speechSynthesis.getVoices();
msg.voice = voices[10]; // Note: some voices don't support altering params
msg.voiceURI = 'native';
msg.volume = 1; // 0 to 1
msg.rate = 1; // 0.1 to 10
msg.pitch = 2; //0 to 2
msg.text = 'Hello World';
msg.lang = 'en-US';

msg.onend = function(e) {
  console.log('Finished in ' + event.elapsedTime + ' seconds.');
};

speechSynthesis.speak(msg);
Run Code Online (Sandbox Code Playgroud)

这里的例子。

text-to-speech speech-synthesis

5
推荐指数
1
解决办法
857
查看次数