我也提出问题

保留原著,并且问题被回答或审核通过时通知你:


Question

a点运动到b点,并伴随运动轨迹..这个原理是怎样的?

- 作者:lee | yufenglee.blog.com

flash 图层,元件,文档类,编译过程,执行顺序

- 作者:far

as3中球与不规则图形的碰撞检测

- 作者:lhaoo

TextField自动换行的时候不填充满一行就换下一行?

TextField自动换行的时候不填充满一行就换下一行,(比如一个英语单词过长,自动把单词换至另一行),而我需要断开改单词,而填满一行,应该怎么做呢?

- 作者:fei0kite | www.fzer.org

为什么有的swf加密之后看不到资源了,这是一个什么样的加密机制?

- 作者:mu630

swf文件在播放器中播放流畅,但是通过在网页中由其他swf调用的时候,却播放迟缓,为什么?

swf文件在播放器中播放流畅,但是通过在网页中由其他swf调用的时候,却播放迟缓,那位大虾有过这样的经历,帮忙解释下?

- 作者:Thinkingpey

flash网站自适应屏幕类

如何写个flash自适应屏幕类 做全屏网站方便利用

- 作者:boy

谁有配置 flex+amfphp+mysql 到自己博客上的经验的?

本地测试发布都没有问题,就是上传到博客空间后,用 amfphpbrowser 测试连接数据库没有问题,但是自己的 swf 始终无法连接到服务器端,这是为什么呢

- 作者:CC | cc-space.com

FlashCS4或FlashCS5如何进行断点调试?

- 作者:LiuY

flex-iframe组件的弹窗不显示在最前端?

我使用的是flex-iframe组件,发现一个问题,就是swf内嵌入网页后,该网页会一直处在最上面的位置,比如点击一个按钮弹出Alert窗口,却发现这个Alert窗口躲在了网页后面,关都关不了,真是让我哭笑不得啊!不知有人遇见过这个问题没,如何解决?谢谢!

- Anonymous

flex可以将几个不同的数据流写成不同的文件并全部压缩到一个压缩包里吗

待回答。

- 作者:yjl

PrintJob 和 FlexPrintJob 区别?

- Anonymous

flash中的堆栈结构是怎么样的?

有待回答。

- 作者:Mhycoe | mhycoe.com

筛选XML var directorSearch:XMLList = movieList.movie.(director.search(“Wes Anderson”) != -1).title; 返回的不是匹配条件的

有待回答。

- 作者:JYunLee | bingling.ituike.com

flash builder 4 中是不是已经集成了lcds了?

- 作者:lc

游戏构架怎样才合适?

- 作者:jun

stage进入全屏时怎样使FLVPlayback不进入全屏(特别是多视频时)?使用video.fullScreenTakeOver指令后,为什么其它元件的动作会发生异常,能不能提供一些代码例?

等待热心人回答:)

- 作者:larryfeng

Flash技术与Ajax技术在客户端的安全方面哪个做的更好一些?

等待热心人回答:)

- 作者:Martin Li

求教45度地图深度排序算法,有什么好的算法来实现场景里的物体的深度排序?

等待热心人来回答:)

- Anonymous

求教FLASH 35度地图深度排序的算法

等待热心人来回答:)

- 作者:FlashCook

FAQ

如何使用Haxe编译SWC

使用如下的命令即可:

-swf swcName.swc
–macro include(‘package.path‘)

- 作者:Y.Boy | http://riaoo.com

AIR程序关闭函数

fscommand(“quit”,”true”)

- 作者:KARONL | http://karonl.com

flash player的右键菜单的“全局设置”信息保存在哪里?

假如Windows XP系统是安装在C盘的,flash player的右键菜单的“全局设置”信息保存在以下路径:

C:\Documents and Settings\Administrator\Application Data\Macromedia\Flash Player\macromedia.com\support\flashplayer\sys

- 作者:SWFAQ | http://swfaq.org/

使用 allowNetworking 参数

AllowScriptAccess 参数详解

为什么指定Vector对象的长度,运行速度更快?

每次Vector大小增加时,都将分配一个新的内存块。Vector的当前内容会复制到新内存块中。这种额外的分配和复制数据会降低性能。所以,尽量在创建Vector对象时,能将长度设为固定值就设为固定值。

- 作者:SWFAQ | http://swfaq.org/

ActionScript中Function的call()方法和apply()方法

        今天看到function的call和apply这两个方法,上网查了一下,有人说这两个方法是用来动态改变函数指向,并给了一个例子:

import customize.my_class;
public var _property:String;
public function init():void
{
    var fn:Function = new Function();
    fn = function(…args):void
    {
        this._property = args;
    }

    var __obj:my_class = new my_class();
    //fn.call(__obj, “给属性赋值”);
    fn.apply(__obj, new Array(“给属性赋值”));
    trace(__obj._property);
}

=====================================
定义的my_class类

public class my_class
{
    public var _property:String;
    public function my_class()
    {
        this._property = “somiok”;
    }
}

        从上面代码可见fn函数是用函数表达式形式申明的,此时是可以动态改变函数指向的(也就是函数的this关键字随着函数的附着而改变)。而我用函数语句形式试了一下,函数并不能动态改变自己的指向,只能起到执行函数的作用。

import customize.my_class;
public var _property:String;
public function init():void
{
    var __obj:my_class = new my_class();
    //fn.call(__obj, “给属性赋值”);
    fn.apply(__obj, new Array(“给属性赋值”));
    trace(__obj._property);
}

private function fn(…args):void
{
    this._property = args.toString();
}

        后来查了黑羽老大的书:函数语句定义法和函数表达式定义法的不同还体现在this关键字的记忆上。使用函数语句定义法,则this关键字牢牢指向当前函数定义的域;若使用函数表达式定义法,则随着函数附着的对象不同,this关键字也随之改变。语句定义法需先声明后调用的原则。

总结:如果函数是函数语句定义的形式:则call方法和apply方法只起到执行函数的作用。
如果函数是函数表达式定义形式:则call方法和apply方法起到动态改变函数指向,同时改变被指向类的一些属性。

- 作者:古风依云 | http://hi.baidu.com/crkay

关于Flash Player的垃圾回收

        Flash Player的垃圾回收指的是从内存中删除不再需要的对象的操作。此过程会释放不再被引用的实例所使用的内存。

       Flash Player 在应用程序生命周期内会根据需要执行垃圾回收。但取消对对象的引用不会触发垃圾回收。因此,删除对某个对象的所有引用之后,垃圾收集器不一定会释放该对象所用的内存。此对象只是成为垃圾回收的候选对象。

       为新资源分配内存通常会触发垃圾回收。如果新资源需要的内存无法通过当前分配获得,垃圾收集器就会运行并释放标记为释放的内存。因此,即使您删除了对某个对象的所有引用,也可能不会立即将该对象作为垃圾回收,但在创建并使用其它实例时,则很可能会将该对象作为垃圾回收。可以在应用程序处于空闲状态时,观察其内存分配情况。在您开始与空闲应用程序交互之前,即使存在标记为回收的对象,空闲应用程序的内存使用情况通常也不会发生更改。

       Flash Player 以多字节块的方式分配内存,而不是一次分配一个字节。如果某个块的一部分标记为垃圾回收,而其它部分并未作此标记,则不会释放此块。垃圾收集器会尝试将内存块中所有未使用的部分组合为可以释放的较大的块,但并不是在垃圾收集器每次运行时都会做此尝试。

PS:debug版本的Flash Player可以使用 System.gc() 方法手动进行垃圾回收。对于非debug版本的Flash Player,请了解一下 Loader.unloadAndStop(gc:Boolean) 方法。

- 作者:Y.Boy | http://riaoo.com/

用Loader加载一个位图,如何修改它的分辨率?

你这里的分辨率应该是指 Loader 自身的分辨率。可以直接修改 width 和 height 属性,或者修改 scaleX 和 scaleY 属性。一个简单的算法如下:

Loader.scaleX = dpi / 72;

其中,变量 dpi 为指定的分辨率,即你需要修改的分辨率;72 为屏幕分辨率,普遍显示器的分辨率都是这个值。

- 作者:LiuY

AS是从什么版本开始支持Vector的?

Vector 类是从 Flash Player 10 以后才支持的。使用 ActionScript 3.0 。

- 作者:Morpheus

flash包与fl包有什么区别?

          flash包与fl包到底有什么区别呢?简单的说就是flash是Flash Player核心的库,不管在Flash中还是FD、FB中,都可以用;而fl是专门用于Flash中的一个组件库。虽然fl包下很多包名是跟flash包下一样的,但却不是相同的,大致可将前者看作是后者的一个扩展。就跟Flex中的mx包是专门用于FB作为flash核心类的扩展一个道理。
        网上经常可以看到说flash导出的动态连接库无法直接在Flex中用,确实是这样吗?既然flash包是Flash Player核心的库,而动态链接库的类一般都继承MovieClip或Sprite、BitmapData之类的,所以当然可以跟用Flex下的这些类的子类一样去用这些导出类。只是要注意的一点是:MC和Sprite等不是继承自UIcomponent类的组件不可以直接addChild进Flex中,要用UIcomponent转化一下。
         那我们如果要在FB中用到fl包,应该怎么办呢?很简单,在Flash中将fl包发布为一个swc组件即可跟核心包一样在FB下利用了,并且代码智能提示一样不少。在FD中也可用这个方法,另外FD中还可:复制FlashDevelop\Library\AS3\frameworks\FlashIDE下面的fl包到FlashDevelop\Library\AS3\intrinsic\FP10或FP9下,重启FD就可看到这时已经有fl包的智能提示了。

元数据标签 [RemoteClass] 与 [Bindable] 的区别

[RemoteClass(alias="命名空间.类名")] 用于Flex中的类定义中,声明该类(Bean)可以与服务器对象绑定;而[Bindable]用于Flex中的对象定义。

二者不是同一个概念。不能用下面的写法实现与服务器对象的绑定:
[Bindable]
[RemoteClass (alias="org.swfaq.user")]

另:网上有人认为,关于Flex和java的交互,推荐使用xml的方式。根据项目中的经验,采用RemoteObject或Hessian的方式,对于独立测试和调试会造成较大的困扰;当然如果服务器端java和客户端flex的开发人员为同一人员可以避免这个问题,但通常项目中的分工会将这两部分交给不同的人,所以采用绑定服务器对象的方式会增加开发成本。

Macromedia Flash 8中如何激活直接获得序列号

目前最新的版本是 Flash CS5,建议使用 Adobe CS 系列的版本。Flash 8 已经是4、5年前的版本了。

其中 CS5 的序列号可以在这里获得:http://swfaq.org/468/#post

- Anonymous

如何创建你的位图并让它可见?

跟AS2.0一样,首先需要调用构造函数 BitmapData() 来创建一个新的 BitmapData 实例:

var myBitmapData:BitmapData = new BitmapData (width:Number, height:Number, transparent:Boolean, fillColor:Number);

当你创建了BitmapData对象后,你可能会想以某种方式把它加到显示列表中,让它显示在华丽的舞台上。你可能会想到以为直接 addChild(myBitmapData) 就能把它放到显示列表上。但 addChild() 方法只能工作在扩展了 DisplayObject 类的对象上,如Sprite、MoviceClip 和 TextField 。然后,如果研究这个类的结构,你会发现 BitmapData 并没有扩展 DisplayObject,因此不能直接通过 addChild() 方法把它放到显示列表上。这时候需要使用 Bitmap 类了。Bitmap 类几乎只有一个功能——作为 BitmapData 实例的显示容器。

例子:

var myBitmapData:BitmapData = new BitmapData(100, 100, false, 0xff0000);
var myBitmap:Bitmap = new Bitmap(myBitmapData);

注意:

  1. BitmapData只是用于存储和处理位图的信息,它不继承于DisplayObject。
  2. Bitmap类主要是装载BitmapData的显示对象,用于显示你创建的位图。

我把图片导入Flash IDE,转换成MovieClip,并命名图片的链接名,然后生成SWF文件。这一个过程能用程序自动化实现吗?

 

可以使用 jsfl 脚本扩展 Flash IDE 。如果你使用的是 Flash CS4 ,可以了解一下如何扩展 Flash :http://help.adobe.com/zh_CN/Flash/10.0_ExtendingFlash/index.html
使用 jsfl 可以用脚本来操作 Flash CS4 ,就是以程序来代替手工操作。

- 作者:Abel Lee | blog.sina.com.cn/abellee87

如何在运行时获得一个类的静态属性列表?

用 flash.utils.describeType() 方法。trace 一下它返回的 xml 就知道怎么用了。

- 作者:eidiot

谁有Adobe CS5系列软件的注册机?

网上流传两个版本的CS5注册机:

不使用注册机,你还可以使用 cbm 提供的 amtlib.dll 破解文件:http://u.115.com/file/f93c410868 (附:使用方法

- Anonymous

如何把加载的图片按比例缩放?

请看这篇文章下半部分关于 DisplayObjectTransformer.scaleInBox() 方法的 :http://riaoo.com/?p=1276

核心算法

/**
   * 等比缩放。保持原有宽高比,对显示对象进行缩放.
   * 适用于以下情况:你想把某一张图片缩放到指定大小的区域里,而且保持原有的宽高比,不进行拉伸。
   *
   * @param target 要进行等比缩放的显示对象。
   * @param boxWidth “盒子”宽度。
   * @param boxHeight “盒子”高度。
   *
   */  
  public static function scaleInBox(target:DisplayObject, boxWidth:Number, boxHeight:Number):void
  {
        var scale:Number = Math.min(boxWidth / target.width, boxHeight / target.height);
        target.scaleX = scale * target.scaleX;
        target.scaleY = scale * target.scaleY;
  }

- Anonymous

为啥AS3没有画虚线的方法?

 
虚线实质上就是一条一条直线间接连成的。AS3已经有画直线的方法了。你的问题就像:为什么AS3没有画波浪线的方法?因为AS3已经有画贝塞尔曲线的方法。AS3不可能把所有需求、功能、算法都实现给你的,更多的留给开发者去发挥了。

Lite3 提供:画虚线和斑马线的类 http://www.lite3.cn/blog/?p=78

- 作者:黄龙 | http://qq49121294.66236.yes165.com/

Flash 和 HTML5 哪个好?

 
没有最好的,只有最合适的。Flash和HTML5有交集,但交集只是二者功能的很少部分体现,不要迷信传言“HTML5将替代flash”,以前还传言ajax将替代flash呢。
现在该用什么还用什么,适合用ajax的地方也一样可以不用flash,HTML5还早着呢。

相关阅读

- 作者:Mousebomb | http://www.flashj.cn