那些年,我还在学习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 { //该类必须继承于MovieClipvar 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只在二个项目中用过,一个是做动画,一个是写代码的,此文以回忆那些学习的日子。
转载于:https://www.cnblogs.com/xin_ny/archive/2012/03/02/2377419.html
那些年,我还在学习actionscript相关推荐
- 2018年php还是python好_2018年PHP还值得学习吗?
年过完了,也要恢复紧张繁忙的工作状态了.任何事情都有惯性,从一个每天吃喝玩乐+旅游的状态,切换到每天都要写代码.写文章.赶项目的状态,确实有点吃不消. 好了,恢复正题.今年最火的话题莫过于:区块链.人 ...
- 成都java薪资待遇怎么样?还值得学习吗?
成都java薪资待遇怎么样?还值得学习吗? 2021年了,成都java的薪资待遇怎么样?Java现在还值得学习吗?每个人的价值观不一样,你先看下图,再考虑值不值得. (数据来自职友集) 成都java开 ...
- 没智商没背景没资本,你还不学习?(转载)
网址:http://www.douban.com/group/topic/38947885/ 没智商没背景没资本,你还不学习? 摘要: 你智商不高,情商不高,各种商不高.你背景不够,资本不够,各种不够 ...
- 哪家php培训好,哪家PHP培训最好?PHP还值得学习吗?
原标题:哪家PHP培训最好?PHP还值得学习吗? 哪家PHP培训最好?PHP还值得学习吗?年过完了,也要恢复紧张繁忙的工作状态了.任何事情都有惯性,从一个每天吃喝玩乐+旅游的状态,切换到每天都要写代码 ...
- 无锡校长另类“励志”演讲:长得不帅还不学习
你不学习,全家搞一顿炸鸡啤酒你都要考虑考虑 你不学习,连一张季前赛门票都买不起 "你追求加内特.詹姆斯.科比.麦蒂.邓肯.霍华德--你不学习,连一张季前赛门票都买不起."" ...
- 2019 年,C# 还值得学习吗?
世界上只有少数几种语言是多功能的,而没有一个像C#那样干净整洁. 作者 | Arctek 译者 | 谭开朗,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: 最直接的答案是: ...
- C 语言还值得学习吗?C 语言会过时吗?C 语言解惑
C 语言还值得学吗? 答案是肯定的. 第一,学习C有助于更好的理解C++,Java,C#,Perl以及其他基于C的特性的语言.第一开始就学习其他语言的程序员往往不能很好的掌握继承自C语言的基本特性. ...
- 没想到吧!玩游戏还能学习编程,这15款编程游戏你一定要看看
作者 |创客星辰 来源 | 辰语学习笔记 Coding Games 一边玩游戏,一边挑战编程难题.Coding games支持包括PHP.C.JavaScript在内的20多种编程语言.用户界面功能强 ...
- 孩子坐姿不正,不仅影响视力!还影响学习成绩!
为了预防孩子近视,家长们使尽浑身解数,不惜代价和成本购买昂贵的护眼台灯.防蓝光眼镜等.然而许多家长不知道的是,青少年儿童坐姿不良,不仅对视力有很大影响,甚至还会使孩子注意力不集中,从而影响孩子的学习成 ...
最新文章
- DevicePass-through及网卡的直接分配在Xen里面的实现
- mybatis返回map操作
- OSGI 面向Java的动态模型系统
- Scala模式匹配:变量声明中的模式匹配
- BIO和NIO的区别
- 石头剪刀布php源码,php实现的网页版剪刀石头布游戏示例
- 监控行业应用解决方案
- Keras-保存和恢复模型
- 如何设置iMatrix平台中列表标签(gridjqGrid)实现动态列表
- linux ftp常用操作,linux 操作 ftp 常用命令
- 在Arcgis中利用Python编写脚本批量化处理数据实例
- 通达信 移动平均算法_通达信擒龙攻防战法主图指标公式
- VS2019 调用大漠插件免注册方法引发异常 0x00000000 处(位于 DMSPACE1.exe 中)引发的异常: 0xC0000005: 执行位置 0x00000000 时发生访问冲突。
- 前馈神经网络初步了解
- 涨跌的例题用C语言编辑,涨跌比率指标用法及源代码(ADR)
- html新年礼物,特别的新年礼物 特殊的新年礼物
- 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 将微服务运行在Docker上
- error2448C语言,VS 报错 error C2448: “main”: 函数样式初始值设定项类似函数定义 问题的解决方法...
- 使用BackTrack来增强电脑的安全
- PM必读|如何成为卓有成效的产品经理
热门文章
- Sentinel结合Fejgn接口,进行调用远程接口的调用和限流
- AM3354开发 -- 使用root模式登录Ubuntu18.04
- ifstream 和 ofstream 文件中读取和写入操作
- Java throw:异常的抛出
- 基于glibc的程序在android上的移植
- 【David Silver强化学习公开课】-7:Policy Gradient
- TensorFlow for Hackers - Part III
- Android的IPC机制Binder
- 锁相环环路滤波器计算公式_锁相环计算方法
- JZOJ 5623. 【NOI2018模拟4.2】program