【问题标题】:Is it possible to access as3 custom properties from javascript?是否可以从 javascript 访问 as3 自定义属性?
【发布时间】:2013-12-02 04:57:01
【问题描述】:

我在我的网络摄像头 as3 网络摄像头类中定义了以下属性

public function get paused():Boolean
  {
  return (cam == null);
  }

public function set paused(p:Boolean):void
  {
  if(p){picture.draw(vid,flip);cam = null;}
  else cam = Camera.getCamera();
  vid.attachCamera(cam);
  }

是否可以从 javascript 访问它?当我将它作为一个简单的函数使用时:

ExternalInterface.addCallback("paused", paused);

但在我将其更改为属性后,它不会编译。

“错误:将布尔类型的值隐式强制转换为不相关的函数类型。”

我是一个动作脚本新手,所以也许我缺少一些明显的东西。

【问题讨论】:

    标签: javascript actionscript-3


    【解决方案1】:

    addCallback() 只接受一个函数,因此您需要创建有意义的函数来设置和获取值,而无需使用 getset 关键字:

    function getPaused():Boolean
    {
        return paused;
    }
    
    function setPaused(value:Boolean):void
    {
        paused = value;
    }
    
    ExternalInterface.addCallback("getPaused", getPaused);
    ExternalInterface.addCallback("setPaused", setPaused);
    

    【讨论】:

    • 是的,我知道这是一个属性,但问题是如何从 javascript 访问这个属性?
    • 在javascript中我希望使用类似“cam.paused=true”的东西。这不可能吗?
    • @poby 您需要按照我在最新编辑中的描述来处理它 - ExternalInterface API 只允许您公开方法。这样你就可以改为cam.setPaused(true);
    猜你喜欢
    • 2011-01-20
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 2011-11-14
    • 2015-01-12
    • 1970-01-01
    相关资源
    最近更新 更多