那些年,我还在学习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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php mysqli::close()
- 下一篇: Ocr技术 识别高级验证码