作者kazenol (随便啦)
看板Flash
标题Re: [问题] 我想请问计算机的问题....
时间Mon May 1 00:07:28 2006
※ 引述《SIGMA420 (SWORDFISH)》之铭言:
: 我刚看到了一个计算机的flash原始档案
: 可是有的地方我看不太懂
: 想请问大大
: 他在场场景内放了一个主程式:
: stop();
: var Result:Number = 0;
: var LastOpd:Number = 0;
: var LastOp:Number = 0;
: var ClearFlag:Boolean = true;
: function NumKeyPress(nn) {
: if ( ClearFlag ) {
: ClearFlag = false;
: out.text = "0";
: }
: if ( out.length < 8 ) {
: out.text = String(Number(out.text)*10 + Number(nn));
: }
: }
: //
: //-------------------------------------
: function DoCalc(op,opd1,opd2) {
: switch (op ) {
: case 1://add
: Result = opd1 + opd2;
: break;
: case 2://sub
: Result = opd1 - opd2;
: break;
: case 3://mul
: Result = opd1 * opd2;
: break;
: case 4://div
: Result = int(opd1 / opd2);
: break;
: default:
: Result = opd2;
: break;
: }
: }
: function OpPress(op) {
: if ( !ClearFlag ) {
: DoCalc(LastOp, LastOpd, Number(out.text));
: LastOpd = Result;
: }
: LastOp = op;
: out.text=String(LastOpd);
: ClearFlag = true;
: }
: 以上是计算机的主程式
: 在按钮部分是
: on (release, keyPress "1") {
: NumKeyPress('1');
: }
: 然後他的加减乘除等於是
: on (release, keyPress "<Enter>") {
: OpPress(0);
: }
: 这个是等於的
: 其他加他的OpPress(0)的括号就改成1、2、3、4
: 可是我不懂
: function NumKeyPress(nn) {
: if ( ClearFlag ) {
: ClearFlag = false;
: out.text = "0";
当ClearFlag是true时,仪表数字会归零
第一次执行时已设成true,所以计算机一打开就有个0字,然後再变成false
以後每次按数字时,因为已设成false,所以就能输入其他数字,不然他永远会显示0
: }
: if ( out.length < 8 ) {
: out.text = String(Number(out.text)*10 + Number(nn));
: }
: }
你可以按实际的计算机看看,例如输入5566:
输入 out out.text*10 nn out.text
5 0 0 + 5 = 5
5 5 50 + 5 = 55
6 55 550 + 6 = 556
6 556 5560 + 6 = 5566
至於String的部份,因为out.text顾名思义是text,不是数字不能计算,所以先
Number(text)转成数字,计算过後再用String转成text,才能显示。
: 这里在写什麽??
: 还有switch最後的地方
: 为什麽Result = opd2;
: 那下面这一串又表示什麽呢??
: function OpPress(op) {
: if ( !ClearFlag ) {
: DoCalc(LastOp, LastOpd, Number(out.text));
: LastOpd = Result;
: }
: LastOp = op;
: out.text=String(LastOpd);
: ClearFlag = true;
: }
op就是加减乘除,打完数字不是要按加减乘除再按下个字吗?,所以这边switch就会
去看你是用哪个四则运算。OpPress会知道你的四则运算是什麽後,丢给DoCalu去做
实际的运算
我
写
这
样
还
不
够
长
哦
?
: 请大大帮忙好吗??拜托大家 谢谢^^~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.224.205
1F:推 SIGMA420:阿阿阿~好感动~非常感谢你唷!!^^~阿哩阿哆 05/01 00:26