如何从公共函数返回变量

2024-05-24

我试图摆脱在主时间线上使用代码,但我很难理解 .as 文件和 .fla 文件如何交互。例如,我试图弄清楚如何将变量从主时间线传递到公共函数,对该变量执行一些操作并将其传递回主时间线。我在框架上有一个输入文本框和一个带有侦听器的简单按钮。我希望能够在文本框中输入 00000 00,并返回 0.00。下面是我的代码:

import flash.events.MouseEvent;
import convertToDecimal;
var inputText:String;
var outputText:String;

submit_btn.addEventListener(MouseEvent.CLICK, submit);

function submit(e:MouseEvent):void
{
    inputText = input_txt.text;
    new convertToDecimal(inputText);
    trace();
}

这是公共函数:

package
{
    import flash.sampler.StackFrame;
    import flash.events.MouseEvent;
    import fl.controls.Button;
    public class convertToDecimal
    {
        public function convertToDecimal(stringParmter:String)
        {
            var rex:RegExp = /[\s\r\n]+/gim;
            stringParmter = stringParmter.replace(/^\s+|\s+$/g, '');
            stringParmter = stringParmter.replace(rex,'.');
            stringParmter = stringParmter.replace(/^0+(?!\.|$)/, '');
            if ((stringParmter == "-----.--") || (stringParmter == "0"))
            {
                stringParmter = "      00";
            }
        }
    }
}

这可能是一个非常菜鸟的问题,但我们将不胜感激。


如果您有类,为了使用它,您必须构造它的“副本”并将其分配给变量。构建你的类非常简单:

new convertToDecimal(inputText); // does the constructing job

但接下来会发生什么呢?当你的程序进入下一行时,你构造的类就会被释放!您必须将其分配给变量,以便将其保留在内存中:

var yourVariableName:convertToDecimal = new convertToDecimal(inputText);

现在你已经有了课程的“副本”。 OOP 范式很好,因为您可以非常轻松地创建大量“副本”,然后每个“副本”都会有自己的生活。


现在回到你的问题。众所周知,将代码添加到时间线是不好的。相反,将您的类附加到您的项目并以这种方式更改它:

    package
{
    import flash.sampler.StackFrame;
    import flash.events.MouseEvent;
    import fl.controls.Button;

    public class Main
    {
        public function Main()
        {
            submit_btn.addEventListener(MouseEvent.CLICK, submit);

        }

        private function submit(e:MouseEvent):void
        {
            var inputText:String = input_txt.text;
            inputText = convertToDecimal(inputText);
            trace(inputText);
        }

        private function convertToDecimal(stringParmter:String):String
        {
            var rex:RegExp = /[\s\r\n]+/gim;
            stringParmter = stringParmter.replace(/^\s+|\s+$/g, '');
            stringParmter = stringParmter.replace(rex, '.');
            stringParmter = stringParmter.replace(/^0+(?!\.|$)/, '');
            if ((stringParmter == "-----.--") || (stringParmter == "0"))
            {
                stringParmter = "      00";
            }
            return stringParmter;
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从公共函数返回变量 的相关文章

  • 用圆形减去(遮盖掉?)路径

    我正在使用 Spark Path 在 Flex 中绘制一条路径 我想从这条路径中减去一个圆形 如下图所示 道路又黑又宽 有任何想法吗 我尝试使用 Shape 对象创建蒙版 但无法完全创建其中有圆孔的蒙版 找到了 不涉及口罩 我拿了Path并
  • as3 事件 - 类型强制失败?

    我正在将事件从孩子发送到父母 swf 它工作正常 直到我使用预加载器 swf 加载父级 然后父级停止从子级获取事件 我现在收到此错误 TypeError Error 1034 Type Coercion failed cannot conv
  • 从另一个域加载外部图像

    是否可以从另一个域加载图像 jpg png gif 并操作像素 我想当下载 复制图像时它就在我的域中 使用加载器并将内容添加到图像组件时 我在调试器中收到错误 我想这里有一些跨域策略在起作用 但在继续之前我需要更确定它是如何工作的 我想 如
  • 换肤时访问 hostComponent 的自定义属性 - Flex 4.5、SDK 4.5

    使用 SDK 4 1 我能够从自定义皮肤访问自定义按钮组件的自定义属性 我当前正在工作的项目需要 SDK 4 5 但我无法访问这些属性 这是一个例子 自定义按钮组件
  • 求反射角的弧度

    我正在编写一个简单的 Flash 游戏 只是为了学习 Flash 并提高我的数学能力 但我对弧度感到非常困惑 因为这对我来说是新的 到目前为止 我所做的是使用鼠标 单击并释放 使用弧度向该方向射出一个球 现在我想要发生的是 当球撞到墙壁时
  • Actionscript 对象的属性数量

    如何获取通用 Actionscript 对象中的属性数量 如数组长度 您必须循环所有元素才能对它们进行计数 function objectLength myObject Object int var cnt int 0 for var s
  • 将 < 或 > 运算符作为参数传递给函数?

    我的函数里面有一个if 像这样的声明 if passedValue lt staticValue 但我需要能够传递一个参数来指示 if 表达式是像上面那样还是 if passedValue gt staticValue 但我真的无法通过 l
  • 舞台强制渲染/重绘

    通常我会监听 ENTER FRAME 事件并在每次渲染帧时执行代码 但是对于我的应用程序来说这太慢了 2 个 ENTER FRAME 事件之间的时间间隔为 40 毫秒 如果我改变帧率也没关系 那么是否可以在不监听事件的情况下强制Flash重
  • AS3:如何获取文本字段中某些文本的左上角和确切的宽度和高度?

    我们正在努力获得一个Rectangle代表文本的精确 边界TextField 尽可能准确 拍摄这张图片 利用我目前的知识 我可以检索blue上面的矩形如下所示 var textRect Rectangle new Rectangle fie
  • Flex:监听文本区域中链接上的“悬停”

    我试图找出链接何时 悬停在 显示 html 文本的文本区域中 我想知道监听光标更改类型的事件是否可能是这样 我在文档中找不到任何内容 有谁知道我可以在这里收听什么活动吗 Thanks 这是一个非常有趣的问题 根据凯的建议 我想到了一种返回A
  • 如何进行 Flex 日期扣除和添加

    在 Flex 中 我试图进行日期扣除和添加 但找不到方法 例如 公共 var dateNow Date new Date 如何获得比现在日期早 3 个月的日期 谢谢 您可以为此使用 Date 构造函数 Date 构造函数的第一个参数采用年份
  • 在数组/对象中查找项目的最快方法

    在 Javascript AS3 中查找列表或对象中项目的索引的最快方法是什么 我对这两种语言都提出这个要求 因为这两种语言的语法相似 假设 myArray one two three myObject one 1 two 2 three
  • 使用 flash/flex 在客户端硬盘上下载/保存/写入文件

    我想知道如何下载 保存 写入文件我的服务器 to a 客户的计算机使用闪光灯或柔性 我正在寻找的示例可以在http www flexdownloads com http www flexdownloads com Sign up Sign
  • 位图太大 as3

    在AS3中 我从zip文件加载png nochump的zip库通过ByteArray到Loader png 的宽度最大可达 45k 像素 但高度仅为 120 像素 这在 Flash 中产生了一个问题 因为图像的宽度只能约为 8000 像素
  • 验证错误:错误#1014:找不到类

    我正在使用 Flash Builder 4 5 还使用库 Away3D 4 0 和 Flex 4 5 1 SDK 开发 AS3 项目 另外 我添加了自己的 SWC 库 我之前将其编译到我的项目中 如果我在 SWC 库中导入类 它会起作用 但
  • 将图像保存在 applicationStorageDirectory 的目录中

    我试图将图像文件保存到我的空气项目的应用程序存储目录中的目录中 首先创建目录 var imageDirectory File File applicationStorageDirectory resolvePath vispics if i
  • 在 Flex 中以 HTTP Post 方式上传任意数据

    我们目前有一个 Java 小程序 可以生成大量数据并将其上传到我们的服务器 我们拥有的上传方法之一是使用 HTTP POST 到我们的服务器 其内容只是原始数据 没有多部分编码或任何内容 我正在考虑实现一个具有相同功能的 Flex 应用程序
  • 将两个声音文件合并为一个新文件

    如何合并两个声音并另存为新文件 一种声音是加载的 mp3 文件 另一种声音来自麦克风 然后我需要将这个声音上传到服务器中 这可能吗 这一切都可以完成 但如果你看的是简单的例子 调用的方法很少 恐怕就没那么容易了 您可以使用以下命令从声音中提
  • AS3 禁用数据网格内文本输入的可编辑/可选择

    我目前正在尝试禁用可选择 可编辑 或将 textInput 更改为动态以获得我想要的结果 我有一个带有下拉菜单和文本输入区域的自定义数据网格 但是 如果我的 型号 列中没有数据 我不想允许在相应的 购买价格 单元格中输入任何内容 col1
  • 浏览器视口大小(以设备像素为单位)

    Goal 我希望 Flash 能够获得有关浏览器视口宽度和高度 以设备像素为单位 的准确信息初始化 调整大小或浏览器缩放事件时 规格 我需要将 flash 嵌入到在 chrome safari firefox 等中运行的 html 页面中

随机推荐

  • C 变量声明的效率 [重复]

    这个问题在这里已经有答案了 例如 在 C 中声明一个变量需要多长时间int x or unsigned long long var 我想知道它是否会让我的代码在类似的事情中更快 for conditions int var 0 code 这
  • 父级 div 未扩展到子级的高度

    正如你将看到的 我有一个div innerPageWrapper 包围包含内容的 div innerPageWrapper在视觉上也确实充当布局中的半透明边框 我的问题是 innerPageWrapper不会扩展以容纳内部的子元素 更不用说
  • 使用 $emit 和 $on 从子模态到父 angularjs

    我有这种情况 两个文件 都在同一个应用程序中 var app angular module myapp 文件一是父文件 我有 app controller ControllerOne scope http modal function sc
  • “1个未解决的外部”C++

    我已经检查了所有文件之间的连接以及类和函数定义 但每次我尝试运行我的程序时 它都会阻止我并告诉我它有 1 个未解析的外部 该程序应该打开多个文件 一个 学生 文件和一个 成绩 文件 从中读取数据 然后使用 查询文件 来查找数据 找到查询中要
  • 将带有时区的 Joda-Time `DateTime` 转换为没有时区的 DateTime?

    Given a DateTime http www joda org joda time apidocs org joda time DateTime html例如2015 07 09T05 10 00 02 00 using 乔达时间 h
  • 升级到 Tomcat 8 时出现 ClassNotFoundException

    我最近将 NetBeans IDE 从 v7 3 升级到 v8 突然我的应用程序在连接到数据库时在服务器启动时抛出异常 这两个版本的 IDE 之间的唯一区别是后者使用 Tomcat 8 异常日志 javax naming NamingExc
  • CSS精灵什么时候适合使用,什么时候不适合使用?

    CSS精灵在什么情况下适合使用 什么时候不适合使用 是节省时间还是仅节省服务器请求 我认为带宽使用将是相同的 因为图像与大图像相同 但它是在一个部分中 何时何地使用 css sprite 是节省时间 工作中 的选择 对于导航来说 它有利于翻
  • 错误:“字符串”无法转换为“字符串!”

    mapView rac valuesForKeyPath userTrackingMode observer self subscribeNextAs block handling 我收到一个错误 String is not convert
  • Laravel 中间件将变量返回给控制器

    我正在对用户进行权限检查 以确定他们是否可以查看页面 这涉及首先通过一些中间件传递请求 我遇到的问题是 在将数据返回到视图本身之前 我在中间件和控制器中复制相同的数据库查询 这是设置的示例 路线 php Route get pages id
  • Xcode 7 调试器不会中断内联标头函数

    过去五年我一直在各种 C 项目中使用 Xcode 没有出现这个问题 今天 我打开了一个较旧的项目 大约 2 年前 并尝试通过在该函数中放置一个活动断点来调试头文件中的内联函数 由于某种原因 调试器不会中断此代码 但是 如果我在调用该函数的
  • 如何在 Servlet 中打开弹出窗口,然后重定向页面

    我想在调用 servlet 时打开一个弹出窗口 然后想将 servlet 重定向到某个 jsp page 这就是我所做的 protected void doGet HttpServletRequest request HttpServlet
  • 跨浏览器相当于explicitOriginalTarget事件参数

    有谁知道跨浏览器等价于explicitOriginalTarget事件参数 该参数是 Mozilla 特定的 它为我提供了导致模糊的元素 假设我的页面上有一个文本输入和一个链接 文本输入具有焦点 如果我点击链接 文本输入的模糊事件会通过ex
  • Chrome + 另一个进程:进程间通信比 HTTP/XHR 请求更快?

    我有一个进程 1 对视频流进行实时图像处理 我需要在 Chrome 中的 HTML 页面中渲染该视频 同一台计算机上的进程 2 在canvas or img or videoHTML5 元素 由于我有 1000x1000 像素 x 3 字节
  • linux下写入后崩溃

    如果我使用 write 将一些数据写入磁盘上的文件会发生什么 但我的应用程序在刷新之前崩溃了 如果没有系统故障 是否可以保证我的数据最终会刷新到磁盘 如果您正在使用write 并不是fwrite or std ostream write 那
  • 稍微不同的形状会收敛到错误的数字 - 为什么?

    我试图弄清楚为什么 TensorFlow 会做一些令人惊讶的事情 我将其归结为一个测试用例 尝试对一个简单的问题进行线性回归 该问题只需将两个输入加在一起 权重收敛到 1 0 偏差收敛到 0 0 正如它们应该的那样 使用此版本的训练输出 t
  • 使用多态对象数组进行 JSON 反序列化

    我在涉及多态对象数组的 JSON 反序列化方面遇到问题 我已经尝试过记录的序列化解决方案here https stackoverflow com questions 5186973 json serialization of array w
  • 卸载程序

    我正在尝试使用此代码卸载程序 但它似乎不起作用 我尝试过其他答案 但似乎也不起作用 有人可以帮助我吗 我正在尝试按给定名称 displayName 卸载该程序 例如 我给出 displayName Appname 那么此代码应该从我的计算机
  • 可以使用drawable-mdpi-fr、drawable-hdpi-fr、drawable-ldpi-fr进行不同分辨率的本地化

    我想对不同的本地化使用不同的图像 但是 我有所有分辨率和所有语言的图像 有什么办法可以做到这一点吗 是的 这是可能的 可绘制 de rDE ldpi 可绘制 de rDE mdpi 核实
  • Angular Service Worker - 无法加载资源:服务器响应状态为 504(网关超时)

    我正在使用Angular CLI 1 6 6 and angular service worker 5 2 5 in our Angular 5 2 5应用程序 除了在我们的生产环境中弹出一条错误消息之外 本地精简版服务器以及生产服务器上的
  • 如何从公共函数返回变量

    我试图摆脱在主时间线上使用代码 但我很难理解 as 文件和 fla 文件如何交互 例如 我试图弄清楚如何将变量从主时间线传递到公共函数 对该变量执行一些操作并将其传递回主时间线 我在框架上有一个输入文本框和一个带有侦听器的简单按钮 我希望能