zoukankan      html  css  js  c++  java
  • 那些年,我还在学习actionscript

    说起那些年学习的时候,其实最开学的就是flash,当然不算课堂上学的哈,然后就慢慢的学AS3.0,也许是小时看到画片的原因,就开始了动画,一直到写代码,actionscript和javascript一样的不是那么好学,其自我感觉的原因是VS用多了,没有智能感应就觉得不爽,唉,想起还是用记事本容易记住API,下面就来看一下以前的学习笔记吧(本来是有一个游戏的,电脑上找不到了)!

    一、   面象对象的AS3.0

    1、  在flash中,新建一个元件,可以为其导出类,这样就得到了一个关于该对象的一个类,这个类可以是黙认的,也可以是自定义的一个类,既然是这样,那个就可以对这个类创建对象,这就象C++或是C#中的类一样的使用。

    2、  在flash中,我们可以在帧中写AS代码,也可新建一个类来关联其场景中的动画,更准确的说就是场景中的对象;以达到控制其操作的作用。

    二、flash中的文本

    1、  flash中有三种文本,分别是:静态文本、动态文本以及输入文本。

    2、  静态文本的text属性是只读的,而动态文本的属性可以在代码中到其进行改变,而输入文本可以让用户在flash中输入文本,同样可以在代码中对其进行控制。

    三、flash中的文本的使用

    1、  用户登录

    在舞台中,添加四个文本框,二个静态和二个输入文本,用来作为输入文本的用户名和密码,新建一个类作为一个输入文本的处理,这样来模拟登录。

    使用函数作为匹配操作,对就的代码如下:

    package {
    
    import flash.display.MovieClip; //包的导入
    
    import flash.events.KeyboardEvent;//键盘的操作事件
    
    import flash.ui.Keyboard;//键盘码
    
    import flash.events.Event;//事件处理
    
    public class Main extends MovieClip { //该类必须继承于MovieClip
    
    var name1:String="whc";
    
    var pswtext:String="******";
    
    public functionMain() {
    
    psw.addEventListener(KeyboardEvent.KEY_DOWN,onEnter);//添加一个按下的事件
    
    }
    
    public function onEnter(event:KeyboardEvent):void {
    
    if (event.keyCode==Keyboard.ENTER) {
    
    info.text=comparefun(Name.text,psw.text);
    
    }
    
    }
    
    function comparefun(test:String,psw:String):String {
    
    var restring:String;
    
    if (test==name1) {
    
    restring=name1;
    
    } else {
    
    restring+="用户名出错!!!";
    
    return restring;
    
    }
    
    if (psw==pswtext) {
    
    restring+=pswtext;
    
    } else {
    
    restring+="密码错误!!!";
    
    return restring;
    
    }
    
    restring="Hello World !!!";
    
    return restring;
    
    }}}

    四、事件与类

    1、  时间Timer:用来给某一个对象添加一个时间的事件,如:TimerEvent.TIMER

    import flash.events.TimerEvent;
    
    import flash.utils.Timer;

    Timer类的构函数有多个重载,有一个参数和二个参的重载,(参数为多少时间执行一次)(参数不多少时间执行一次,执行多少次);

             Timer的对象可以用currentCount得到其当前的次数,还有一个就是事件访问其值:evt.target.currentCount

           Timer对象的函数:start()、stop();

           Date类:可用来得到当前的时间。就象是C#中的dateTime一样的功能,如:

                  var now:Date=new Date();

                                  erfiled.text=now.toString();

    2、  键盘事件KeyboardEvent:给某个对象添加一个键盘按下的事件,如上面的代码:

       psw.addEventListener(KeyboardEvent.KEY_DOWN,onEnter);后面是执行函数,其接受的参数得是一个KeyboardEven,如上面的代码:onEnter(event:KeyboardEvent)

    import flash.events.KeyboardEvent;
    
    import flash.ui.Keyboard;
    
    import flash.events.Event;

    3、  鼠标事件MouseEvent,给某个对象添加一个鼠标点击事件如:

              btn.addEventListener(MouseEvent.CLICK,startb);

    4、  loader类:是一个加载器,用来加载各种文件,是一个内置的类,须要的包有:

    import flash.display.Loader;
    
    import flash.net.URLRequest;
    
            loader对象的方法以:load()方法,使用如下:
    
    var loader:Loader = new Loader();//注册加载器
    
    var url:URLRequest=new URLRequest("1.png");//注册加载地址
    
    loader.load(url);
    
    addChild(loader);
    
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE,LoadComplete);
    
            //Event.COMPLETE事件是一个异步的事件

    5、  Bitmap类:是一个位图的类,可用来对位图的操作;

        6、Sprite容器类,用来放我们的图片等信息,是基本显示列表构造块:一个可显示图形并且也可包含子项的显示列表节点;

    五、上传头像实例

    利用flash可以与asp.net或其它web技术完成一个上传图片的程序,这也很实用,下面就来看一下吧!

    1、  代码:

    package {
    
    import flash.display.Sprite;
    
    import flash.net.FileReference;
    
    import flash.net.FileFilter;
    
    import flash.net.URLRequest;
    
    import flash.events.*;
    
    import flash.display.*;
    
    import flash.display.Loader;
    
    public class Main extends Sprite {
    
               private var url:URLRequest;
    
               private var file:FileReference;
    
               private var file01:FileReference;
    
               private var bitmap:Bitmap;
    
               private var loader:Loader=new Loader();
    
               public function Main() {
    
                        init();
    
               }
    
               private function init():void {
    
                        url=new URLRequest("uploader.aspx");
    
                        file=new FileReference();
    
                        file.addEventListener(Event.SELECT, selectHandler);
    
                        file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
    
                        file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
    
                        file.addEventListener(Event.COMPLETE, completeHandler);
    
                        mc.addEventListener(MouseEvent.CLICK,onclick);
    
                        tr.addEventListener(MouseEvent.CLICK,onmouse);
    
               }
    
               private function onclick(Evt:MouseEvent):void {
    
                        var fileFilter:FileFilter=new FileFilter("*.png;*.gif;*.jpg","*.png;*.gif;*.jpg");
    
                        file.browse([fileFilter]);
    
               }
    
               private function selectHandler(event:Event):void {
    
                        file=FileReference(event.target);
    
                        trace("selectHandler: name=" + file.name + " URL=" + url.url);
    
                        file.load();
    
               }
    
               private function ioErrorHandler(event:IOErrorEvent):void {
    
                        Msg.text="出错了......";
    
                        trace("ioErrorHandler: " + event);
    
               }
    
               private function progressHandler(event:ProgressEvent):void {
    
                        var file:FileReference=FileReference(event.target);
    
                        Msg.text="正在上传......";
    
                        trace("progressHandler: name=" + file.name + " bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
    
               }
    
               private function completeHandler(event:Event):void {
    
                        Msg.text="完成了!";
    
                        loader.loadBytes(file.data);
    
                        loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadComplete);
    
               }
    
               private function onLoadComplete(e:Event):void {
    
                        loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,onLoadComplete);
    
                        var _sprite:Sprite=new Sprite();
    
                        bitmap=Bitmap(e.target.content);
    
                        bitmap.width=120;
    
                        bitmap.height=160;
    
                        _sprite.addChild(bitmap);
    
                        _sprite.x=(stage.stageWidth-_sprite.width)/2;
    
                        _sprite.y=10;
    
                        addChild(_sprite);
    
               }
    
               private function onmouse(Evt:MouseEvent):void {
    
                        file.upload(url);
    
               }
    
    }
    
    }

    2、  界面设计(审美有限)

    3、  测试

      总结

        Flash/as3.0内容很多,比如说读取XML、flash沙箱操作、缓动(那时了解了一下caurina)、flash游戏开发等。那时学习flash只在二个项目中用过,一个是做动画,一个是写代码的,此文以回忆那些学习的日子。

  • 相关阅读:
    mongodb 配置单实例与双实例
    redis 集群 搭建
    memcached 搭建
    公网yum 源地址
    jdk 安装
    activemq 搭建--集群
    zookeeper 安装
    activemq 安装-单点
    rabbitmq 集群
    python——网络编程
  • 原文地址:https://www.cnblogs.com/xin_ny/p/2377419.html
Copyright © 2011-2022 走看看