标签: actionscript

AS3:为int,uint或Number声明"undefined"参数

我想实现以下逻辑:

function setMyValue (myVar:int = undefined):void
{
    if (myVar == undefined)
    {
        /* Generate a value for myVar */
    }
    else
    {
        /* Use the supplied value for myVar */
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,如果提供了值,请使用它.如果没有,请生成它.看起来很简单.

问题是AS3不喜欢这个.'undefined'被强制转换为'0',所以myVar永远不会被定义.我尝试过使用NaN,null等变体,但没有任何效果.我能想到的唯一一个关键是提供一些"魔术数字"作为默认值使用,但那很难看.谁知道更好的解决方案?

谢谢!

parameters int actionscript function actionscript-3

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

AS3计时器与ENTER_FRAME性能

我正在构建一个总是有一些移动的游戏,所以我使用了很多Timer实例来控制重复和触发运动.

现在的问题是,我开始注意到一些性能"滞后".这是由于计时器吗?你建议使用ENTER_FRAME事件吗?

相关:您是否建议任何其他可以提高性能的图书馆/方法?简单的Tween库本身是不够的.

flash actionscript actionscript-3

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

了解ActionScript 3中的Array :: splice

我试图从数组中删除一个对象,但由于某种原因它不起作用.我的印象是拼接接受2个参数:首先,数组中的位置开始于.对于参数2,从那时开始删除多少.

我只想删除一个条目,所以我这样做:

array.splice(i,0);
Run Code Online (Sandbox Code Playgroud)

但它没有用.有人能告诉我我做错了什么,并告诉我它应该如何工作.

flash actionscript actionscript-3 flash-cs4

11
推荐指数
2
解决办法
4万
查看次数

mac上的actionscript开发

我知道Flash的FlashDevelop,但是如何在mac上开发actionscript或haxe?除了用于eclipse的flex插件,flex builder和FDT还有一个很好的IDE用于mac上的actionscript开发吗?我真的想为netbeans提供一个好的插件,但看起来像制作这样的东西的所有项目都停止了.

我已经尝试过使用MacVim和各种插件,但我从来没有让它工作,看起来是一个艰难的学习曲线,开始使用vim.

人们用什么来开发mac上的actionscript/haxe?

macos actionscript haxe

11
推荐指数
1
解决办法
7908
查看次数

事件驱动的CMS - 优点和缺点

我正在尝试确定具有事件驱动的CMS的一些优点和缺点.

事件驱动并不罕见.您可以在许多脚本语言中看到它,例如涉及客户端的Actionscript,javascript,jquery.如何在CMS中服务器上发生事件及其响应.这种方法有哪些优点或缺点,以及人们可能更喜欢的其他方法.

PS请注意,我仅使用Actionscript,JQ和JS作为示例.你意识到,当用这种方式谈论CMS时,事件和响应都是服务器端的东西.

编辑:我看到很多人说使用事件驱动是没有意义的,因为他们没有得到它是什么.已经使用这种方法的CMS系统之一是Drupal,所以相信我这是一种现有的方式,我不是从我的A中提取想法.它只是意味着CMS的"内部"(所有服务器端的东西)是事件驱动的.核心做它的事情并定义事件.插件可以响应这些事件以添加自己的逻辑.我提到Actionscript作为一个例子,因为客户端是这个概念最为人所知的地方,但它也可能在服务器端,可能与普通应用程序不相关,因此不是已知的.但是对于像CMS这样复杂的东西是有意义的,其他开发人员想要添加他们自己的插件,甚至更改CMS的预先构建的逻辑.

php actionscript zend-framework drupal content-management-system

11
推荐指数
2
解决办法
2094
查看次数

AS3/Flex中的自定义元数据?

如何在ActionScript3/Flex中创建和使用自定义元数据?

apache-flex flash actionscript metadata actionscript-3

11
推荐指数
2
解决办法
2980
查看次数

Actionscript:为什么可以在声明变量之前分配变量?

灵感来自问题int [] = {1,2,}; 奇怪的逗号允许.任何特殊原因?我记得有关Adobe的Actionscript语法的问题.

出于某种原因,可以(至少在Flex 3中)在声明变量之前为变量赋值:

 public function foo() : void {
      a = 3;
      var a : int = 0;
 }
Run Code Online (Sandbox Code Playgroud)

这有意义吗..?这是Adobe FlexBuilder编译器中的错误吗?或者这可能是因为旧款Ecmascript版本的遗留问题?

apache-flex flash flexbuilder actionscript actionscript-3

11
推荐指数
1
解决办法
300
查看次数

为什么删除(DictionaryInstance [key]); 失败?

我的应用程序使用字典

protected _categoryToValueDict:Dictionary = new Dictionary();
Run Code Online (Sandbox Code Playgroud)

将某事物映射到其他东西.

现在,在应用程序的某个点上,我需要删除某个键Dictionary.

我实现了这个简单的方法:

    public function setCategoryNoValue( cat:TAModelCategory ):void {

        // delete( _categoryToValueDict[ cat ] );

        var old:Dictionary = _categoryToValueDict;

        _categoryToValueDict = new Dictionary();

        for ( var key:* in old ) {

            if ( key != cat ) {
                _categoryToValueDict[ key ] = old[ key ];
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

如果我只使用[ 删除运算符的描述]

delete( _categoryToValueDict[ cat ] );
Run Code Online (Sandbox Code Playgroud)

应用程序本身不会在正常模式下抛出错误.但是,只要我其外部数据结构序列化为外部源[当前为SharedObject ],该应用程序就无法在以后对其进行反序列化.

如果我使用上面编码的手动迭代删除操作,反序列化操作按预期工作,模型出现在应用程序中. …

apache-flex actionscript actionscript-3

11
推荐指数
1
解决办法
3428
查看次数

如何在Flash中访问Cookie?

我想在Flash电影中抓取同一个域的cookie值.这可能吗?

让我们看看我让用户设置变量foo并使用任何Web编程语言存储它.我可以通过该语言轻松访问它,但我希望通过Flash电影访问它,而不通过HTML页面中的打印传递它.

cookies flash actionscript

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

Flex 3 - 如何支持HTTP身份验证URLRequest?

我有一个Flex文件上传脚本,它使用URLRequest将文件上传到服务器.我想添加对http身份验证(服务器上受密码保护的目录)的支持,但我不知道如何实现这一点 - 我假设我需要以某种方式扩展类,但是如何让我有点迷失.

我试图修改以下内容(用URLRequest替换HTTPService),但这不起作用.

private function authAndSend(service:HTTPService):void{        
   var encoder:Base64Encoder = new Base64Encoder();        
   encoder.encode("someusername:somepassword");        
   service.headers = {Authorization:"Basic " + encoder.toString()};
   service.send();
}
Run Code Online (Sandbox Code Playgroud)

我应该指出,在ActionScript/Flex方面我并不知情,尽管我已经设法成功地修改了上传脚本.

[编辑] - 根据下面的答案,这里是我的进度的更新,虽然我仍然无法让这个工作:

谢谢您的帮助.我试图实现你的代码,但我没有运气.

我在处理HTTP身份验证位置时遇到的一般行为是,IE7一切都很好,但在Firefox中,当我尝试将文件上传到服务器时,它会显示一个HTTP身份验证提示 - 即使给出了正确的详细信息,也只是停顿上传过程.

我相信IE7正常的原因在于浏览器和Flash组件共享的会话/身份验证信息 - 但是,在Firefox中并非如此,我遇到了上述行为.

这是我更新的上传功能,包含您的更改:

private function pergress():void 
{
if (fileCollection.length == 0) 
  {
  var urlString:String = "upload_process.php?folder="+folderId+"&type="+uploadType+"&feid="+formElementId+"&filetotal="+fileTotal;
  if (ExternalInterface.available) 
    {
    ExternalInterface.call("uploadComplete", urlString);
    }
  }
if (fileCollection.length > 0) 
  {
  fileTotal++;
  var urlRequest:URLRequest = new URLRequest("upload_file.php?folder="+folderId+"&type="+uploadType+"&feid="+formElementId+"&obfuscate="+obfuscateHash+"&sessidpass="+sessionPass);
  urlRequest.method = URLRequestMethod.POST;
  urlRequest.data = new URLVariables("name=Bryn+Jones");
  var encoder:Base64Encoder = new Base64Encoder();
  encoder.encode("testuser:testpass");
  var credsHeader:URLRequestHeader = …
Run Code Online (Sandbox Code Playgroud)

apache-flex base64 actionscript urlrequest http-authentication

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