应用思考-教育技术论坛

标题: Actionscript 3.0/Flash脚本语言-纯粹脚本 输入年份得到属相 [打印本页]

作者: 想换个名字可以吗    时间: 2012-11-6 18:57
标题: Actionscript 3.0/Flash脚本语言-纯粹脚本 输入年份得到属相
本帖最后由 郎咸蒙 于 2012-11-6 20:39 编辑

本系列假设读者对flash与相当的了解,知道flash的动画类型
在正式开始志气啊,我们先来看这样一个问题。

让你学习一门编程语言和一个脚本,你觉得哪个会容易一些?

我觉得脚本会简单,当然这种说法未必专业,但是我一直认为脚本相对于汇编啊、c之类的语言相对来说低级和容易一些。

其实Flash编程简单的说就是学习as脚本,虽然现在as 3.0现在已经是一门正式的语言,功能也越来越强大。Adobe公司在给动画的制作做出了2个选择,面向设计者designer的flash和面向程序员的flex最新版本flash builder,并且二者的融合也越来越加明显。

actionscript 3.0以后简称as,as脚本的作用在于为动画添加交互。虽然flash可以做出精美的mtv、广告短片等等,但是对于我们来说,我们需要做课件,需要丰富 交互功能,而显然adobe公司认识到了单纯的动画片并不能满足用户的需求,于是as诞生了。

比如,最简单的例子,我们做一个数学课件,答对题目给一个笑脸,答错了给一个哭脸,这就需要as脚本实现。

此帖子待续。。。
感兴趣的人先自己来了解下什么是as脚本。大家有什么敢于课件想法可以在这里说一下,大家可以互相交流下,我会选择合适的予以实现。

下面是一个例子,要比帖子里的例子看上去复杂,看书这里只是为了讲解代码的使用
作者: 想换个名字可以吗    时间: 2012-11-6 20:34
本帖最后由 郎咸蒙 于 2012-11-6 20:38 编辑


  1. 纯粹脚本的属相 输入年就好了 意在讲解textfeild的使用和显示编程

  2. package
  3. {
  4. import flash.display.Sprite;
  5. import flash.events.MouseEvent;
  6. import flash.text.TextField;
  7. import flash.text.TextFieldType;
  8. import flash.text.TextFormat;

  9. public class AsLearning extends Sprite
  10. {
  11.   public var arr:Array;
  12.   
  13.   private var btnlbl:TextField;
  14.   
  15.   public function AsLearning()
  16.   {
  17.    arr=new Array("猴","鸡","狗","猪","鼠","牛","虎","兔","龙","蛇","马","羊");
  18.    btnlbl=new TextField();
  19.    btnlbl.text="结果显示";
  20.    
  21.    this.addChild(btnlbl);
  22.    btnlbl.y=30;
  23.    creTxt();
  24.   }
  25.   public function creTxt():void{
  26.    
  27.    var lbl:TextField=new TextField();
  28.    
  29.    lbl.type=TextFieldType.DYNAMIC;
  30.    lbl.width=120;
  31.    lbl.height=20;
  32.    lbl.text='请输入你的出生年月';
  33.    
  34.    lbl.background=true;
  35.    lbl.backgroundColor=0xff3366;
  36.    
  37.    this.addChild(lbl);
  38.    var tf:TextField=new TextField();
  39.    
  40.    tf.type=TextFieldType.INPUT;
  41.    tf.background=true;
  42.    tf.backgroundColor=0x999999;
  43.    tf.height=20;
  44.    
  45.    this.addChild(tf);
  46.    
  47.    tf.x=lbl.x+lbl.width+10;
  48.    
  49.    var btn:Sprite=new Sprite();
  50.    
  51.    btn.useHandCursor=true;
  52.    btn.buttonMode=true;
  53.    
  54.    
  55.    var btnlbl:TextField=new TextField();
  56.    btnlbl.mouseEnabled=false;
  57.    btnlbl.text="获得属性";
  58.    btn.addChild(btnlbl);
  59.    btnlbl.height=20;
  60.    this.addChild(btn);
  61.    btn.x=tf.x+tf.width+20;
  62.    
  63.    btn.addEventListener(MouseEvent.CLICK,onClickHandler);
  64.    
  65.    
  66.    
  67.   }
  68.   private function onClickHandler(e:MouseEvent):void{
  69.    
  70.    //如果你读懂这句就证明你显示编程理解的差不多。
  71.    btnlbl.text=arr[int(TextField(Sprite(e.target).parent.getChildAt(2)).text)%12];
  72.    
  73.   }
  74.   
  75. }
  76. }
复制代码

作者: 想换个名字可以吗    时间: 2012-11-6 20:35
(, 下载次数: 16)
作者: etthink    时间: 2012-11-6 20:57
郎咸蒙 发表于 2012-11-6 20:35

楼主的这个实例非常棒,我以前也用这样的类似例子,只是不是以类代码来写,而是帧代码




欢迎光临 应用思考-教育技术论坛 (http://etthink.com/) Powered by Discuz! X3.4