cs4 中缺少 insertAt 和 removeAt 向量方法,但存在于文档中

Posted

技术标签:

【中文标题】cs4 中缺少 insertAt 和 removeAt 向量方法,但存在于文档中【英文标题】:insertAt and removeAt vector methods missing from cs4 but present in documentation 【发布时间】:2020-03-25 12:23:04 【问题描述】:

我似乎在使用矢量方法 removeAt 和 insertAt 时遇到了一些问题,它们都出现在 as3 的文档中:

“https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Vector.html#insertAt()”

然而在 adobe flash cs4 中,它们是未定义的并且会引发错误。 cs4没有这些方法还是文档很差?

【问题讨论】:

运行时版本:Flash Player 19。我认为 CS4 最初是与 Flash Player 10 打包在一起的。因此,错误。 感谢回复,有什么办法可以规避吗? 我从没用 CS4 试过,但理论上是可以的。您需要下载任何相关的 AIR SDK(19 或更高版本),然后按以下方式设置您的 CS4 IDE(可能):swfhead.wordpress.com/2009/09/18/…(我使用 flash cs4 air sdk 对其进行了谷歌搜索,因此可能会有更多相关链接)。 如果您的项目不是带有资产和框架脚本的常规 FLA,而是带有外部资产的纯脚本,还有另一种选择。在这种情况下,您可以使用 AIR SDK 直接或通过 FlashDevelop 或任何其他专用 IDE 编译您的项目。 【参考方案1】:

嗯,除了升级到最新版本的 Flash Player 和 SDK 之外,还有其他选择。这不是一个更好的选择,不是很优雅,但更简单。除非您正在运行一些大型数据集,否则 VPlus.insertAt(...) 实现的性能也不是问题。

实施:

package

    public class VPlus
    
        static public function deleteAt(V:*, index:int):void
        
            // The method cuts a portion of Vector and returns it.
            // We need just the "cut" part, yet it suffices.
            V.splice(index, 1);
        

        static public function insertAt(V:*, index:int, element:*):void
        
            // Fix for from-the-end-and-backwards indexing.
            if (index < 0)
            
                index = V.length - index;
            

            // Add one more element to the end of the given Vector.
            V.push(null);

            // Shift the Vector's elements from index and on.
            for (var i:int = V.length - 2; i >= index; i--)
            
                V[i+1] = V[i];
            

            // Put the new element to its designated place.
            V[index] = element;
        
    

用法:

// myVec.deleteAt(10);
VPlus.deleteAt(myVec, 10);

// myVec.insertAt(15, "Hello World!");
VPlus.insertAt(myVec, 15, "Hello World!");

【讨论】:

以上是关于cs4 中缺少 insertAt 和 removeAt 向量方法,但存在于文档中的主要内容,如果未能解决你的问题,请参考以下文章

webpack---style-loader的配置:insertAt 和insert

Javsssist用InsertAt()方法对语句插桩

Flash SDK 到 CS4 的转换技巧

Flash CS4 和 SWC 文件库路径

Flash CS4,非活动按钮

flash cs4 文本框