我正在尝试创建一个跟踪用户生成的值的Flash应用程序。该应用程序应该基本上允许用户输入项目的名称和它的成本。然后应将总成本加起来以向用户显示总价值。我可能想知道如何将值一起添加,但我不确定如何允许用户创建列表然后允许用户保存它。任何人都可以指点我的教程或指出我正确的方向吗?
我正在使用变量添加用户输入的数字来计算总数。第一个问题是actionscript 3.0不允许文本变量。我刚刚将它转换为2.0来解决这个问题。第二个问题是,当我测试应用程序并输入我的值并单击提交时,我在总值字段中获得NaN。是否有理由不添加值?
以下是我用于提交按钮的代码:
on(release){ 总数=数量(租金)+数量(食物)+数量(旅行)+数量(娱乐)+数量(票据); }
我错过了什么吗?
我可以提供输入文本实例名称然后给它们变量吗?如何解决这个问题?
感谢您的帮助!
答案 0 :(得分:0)
拥有object array
,例如
var stack:Array = new Array();
然后按下项目名称,并在用户输入时为该数组付出代价,例如
stack.push({item:AAA, cost:xx});
这样您就可以随时使用该数组生成列表。
答案 1 :(得分:0)
你必须在代码中看到它是如何工作的。 actionscript中的列表可以存储在数组,向量,字典甚至对象中。
Var myList:Array = [];
myList.push({name: "item 1", cost: 5 });
myList.push({name: "item 2", cost: 7.5 });
如果你想从列表中获取“item 1”的'product',你必须为它创建一个函数,让我们称之为getProductByName
function getProductByName(name:String):Object
{
for each(var product:Object in myList)
{
if (product.name === name) return product;
}
return null; // no match found
}
您可以像这样调用该函数:
var product = getProductByName("item 1");
trace(product.cost); // 5
你可以改变产品,所以让它变得更贵
product.cost += 1;
trace(product.cost); // 6
玩得开心!如果您正在使用类,那么您将为产品创建一个具有公共名称和成本的类,在这种情况下,您最好使用向量,以确保使用正确的类型。
答案 2 :(得分:0)
这就是我在动作脚本3.0中解决问题的原因:
myButton.addEventListener(MouseEvent.CLICK, addThem);
function addThem(e:MouseEvent)
{
totalField.text = String ( Number(field1.text) + Number(field2.text) + ....);
}
我还必须恰当地命名实例。