編寫 ActionScript 的位置 2 時間軸上 ( Timeline ) 好比導演可指示各演員該如何動作 先點選某一個影格 ( Frame ), 再按 F9 開啟 動作 影格, 再撰寫程式 元件上 好比個別演員本身各要表演的動作 先點選場景上某一元件, 再按 F9 開啟 動作 影片片段 或 動

Similar documents
3-1 Wii ( )

Visual C# 2005程式設計

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

untitled

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Microsoft PowerPoint - STU_C_Lang_CH05

untitled

第 三 条 基 金 管 理 人 基 金 托 管 人 和 基 金 份 额 持 有 人 的 权 利 义 务, 依 照 本 法 在 基 金 合 同 中 约 定 基 金 管 理 人 基 金 托 管 人 依 照 本 法 和 基 金 合 同 的 约 定, 履 行 受 托 职 责 通 过 公 开 募 集 方 式

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

Microsoft Word - 01.DOC

Adobe® Flash® 的 Adobe® ActionScript® 3.0 程式設計

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

Microsoft PowerPoint - ch04_AEL0080.ppt

Microsoft PowerPoint - 02 C語言基本概述.ppt

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

(Microsoft Word - Motion Program \270\305\264\272\276\363 \307\245\301\366 \271\327 \270\361\302\367.doc)

PowerPoint Presentation

Microsoft PowerPoint - VB14.ppt

第5章修改稿

Microsoft PowerPoint - 02 C語言基本概述.ppt

If Close[Length]!= 0 Then B Close[Length] 是 Length 日前的 Close 不是 0 的話則執行 B % Number 以 Divisor 來求取除法並傳回剩下的部份和 Divisor 具備相同的符 號 格式 :Number % Divisor Numb

Microsoft Word - 透析8051之迴圈控制方法.doc

ActiveX Control

Microsoft Word - C-pgm-ws2010.doc

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

untitled

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民


《將進酒》

河 南 蓝 皮 书 文 化 (2008) 网 络 文 学 主 要 是 指 在 网 上 原 创 的 文 学 作 品 作 为 网 络 文 化 的 主 力 部 分, 网 络 文 学 的 发 展 在 近 年 来 势 不 可 挡 作 为 凭 借 新 兴 媒 介 兴 起 的 文 学, 网 络 文 学 与 传 统

21 flash

ebook111-4

Microsoft Word - 改版式网页全文.doc

第1章

Android Service

Microsoft PowerPoint - EmbSys101_Java Basics.ppt [相容模式]

「西醫基層總額支付委員會《第28次委員會議紀錄


投影片 1

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

Microsoft Word - ACG chapter00c-3ed.docx

The golden pins of the PCI card can be oxidized after months or years

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

FY.DOC

Microsoft Word - 04_object_Boxing_property_indexer.doc

3.1 num = 3 ch = 'C' 2

<4D F736F F D205BCAE9B0FCCDF85DC8FDC9FAC8FDCAC0CAAEC0EFCCD2BBA82E646F6378>

CC213

山东建筑大学学分制管理规定(试行)

第1章

NOTEBOOK COOLING PAD WITH THREE-DIMENSION SEAKERS

水土保持通报 第 31 卷 192 发现状出发分析了水电开发对生态环境产生的主要 型水电站被列入 十一五 重点项 目 31 云 南 省 水 电 问题和影响 6 王学琴 7 以岷江 嘉陵江上已 建 正建 资源的可开发程度低可开发的潜能 巨 大 云南省地 和规划设计的一些 低 水 头 河 床 式 或 引

¥]¸Ë»¡©ú

100-1「經典研讀:梁啟超《新民說》」學習歷程檔案

<4D F736F F D D C4EAC5A9D2B5B2FAD6B5BACDBCDBB8F1D7DBBACFCDB3BCC6B1A8B1EDD6C6B6C82E646F63>

美容 丙級 工作項目0 1 : 職業道德

untitled

Microsoft PowerPoint - 20-string-s.pptx

Java

VB程序设计教程

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

PHP與MySQL 入門學習指南

Microsoft Word - Chap05.doc

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

PowerPoint Presentation

柳州化工股份有限公司

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

Excel VBA Excel Visual Basic for Application

此運算子具有的優先順序高於下一個區段且低於前一個區段 請注意, 您可以按一下運算子以移至內附範例的詳細資料頁面 x && y 邏輯 AND 如果第一個運算元為 false,c# 就不會評估第二個運算元 條件 OR 運算子 此運算子具有的優先順序高於下一個區段且低於前一個區段 請注意, 您可以按一下運

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

台北市立大安高工職業學校

Frequently Asked Questions Series 1[x] (Released on [xx January 2012)

Microsoft PowerPoint - Class2.pptx

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

第一章 章标题-F2 上空24,下空24

Microsoft PowerPoint - 14Threads.ppt

Microsoft Word - data_mid1611_and_sol.docx

Microsoft PowerPoint - C-Ch08.ppt

Microsoft PowerPoint 龍華科技大學遊戲系-Unity teaching

Microsoft PowerPoint - ch03_AEL0080.ppt

Microsoft Word - PHP7Ch01.docx

Microsoft PowerPoint - Raptor-FlowChart-scy.pptx

育 部 分 則 由 陳 淑 貞 委 員 及 李 兆 環 委 員 共 同 執 行, 在 此 先 感 謝 各 位 委 員 及 學 者 專 家 之 參 與 二 目 前 評 論 報 告 初 稿 之 架 構 區 分 為 對 政 府 機 關 回 應 意 見 之 觀 察 優 點 及 待 改 進 事 項, 以 及

附 : 初 中 组 一 等 奖 (31 个 ): 天 河 外 国 语 学 校 中 山 大 学 附 属 中 学 番 禺 区 大 石 富 丽 中 学 广 东 实 验 中 学 附 属 天 河 学 校 花 都 区 实 验 中 学 增 城 区 凤 凰 城 中 英 文 学 校 广 州 市 执 信 中 学 花 都

58, ,769 51,911 74,666 35, , , , ,

壹、學校背景

游戏攻略大全(十).doc

保 险 公 司 金 富 月 盈 两 产 全 品 保 名 险 称 ( 分 红 型 ) 产 分 品 红 类 型 缴 费 年 类 缴 型 缴 10 费 年 期 缴 限 保 险 期 限 ( 年 ) 聚 富 2 号 两 全 保 险 ( 万 能 型 ) 万 能 型 趸 缴 趸 缴 6 年 龙 享 安 康 重 疾

游戏攻略大全(五十三).doc

untitled

880041_C_Unique_REDACTED_.indb

(1) (2) (3) 80% 1. 49% 51%


二零一五年施政報告 - 施政綱領 - 第三章 扶貧及為弱勢社群提供支援

<4D F736F F D20BACBB0B2C8ABD3EBB7C5C9E4D0D4CEDBC8BEB7C0D6CEA1B0CAAEB6FECEE5A1B1B9E6BBAEBCB C4EAD4B6BEB0C4BFB1EA2E646F63>

<4F4BBEFAA576A470BBA15FC160AAED E786C73>

辽宁铁~1

I

Transcription:

第一節課 :Flash ActionScript 2.0 學習使用介面至撰寫第一個控制動畫程式 課程名稱 : 數位媒體應用 講師 : 王穎聰 1

編寫 ActionScript 的位置 2 時間軸上 ( Timeline ) 好比導演可指示各演員該如何動作 先點選某一個影格 ( Frame ), 再按 F9 開啟 動作 影格, 再撰寫程式 元件上 好比個別演員本身各要表演的動作 先點選場景上某一元件, 再按 F9 開啟 動作 影片片段 或 動作 按鈕, 再撰寫程式 程式要寫在 on ( 事件 ) { } 或 onclipevent ( 事件 ) { } 的大括弧內 元件內 好比個別演員本身具有的能力 在元件上點滑鼠兩下, 進入元件內編輯 一樣也可在時間軸上 或內含的子元件上撰寫程式, 原理和方法與上兩大項相同

元件 ( Symbol ) 組件 ( Component ) 與變數 ( Variable ) 的命名 做好的動畫元件 或使用現成的組件, 拉到場景內使用時, 一定要命名, 程式才能對其做控制 命名最好是使用英文字母或底線 ( _ ) Macromedia 建議命名最好都是小寫字母, 若想用組合英文字來命名, 第二組以下的英文字第一個字母大寫, 如 myvideoname username 等 變數在使用前, 最好做宣告變數名稱及其型態, 如 var myage:number; 3

程式碼提示 ( Code Hint ) 程式碼提示的功能, 預設是開啟的, 若無開啟, 可於動作面板上方點選如右圖所示按鈕, 開啟程式碼提示功能 一般內建函數使用時, 當打到前括弧 ( 時, 就會跑出程式碼提示 元件或組件的命名中需加上特殊的後綴字, 才會跑出程式碼提示 當寫到有後綴字的命名時, 再打上點 (. ) 後, 程式碼提示就會顯示 元件命名如 myball_mc 變數若有宣告型態, 才會出現程式碼提示 當寫到該變數時, 再打上點 (. ) 後, 程式碼提示就會顯示 4

5 元件或組件命名之後綴字 ( suffix ) _lv LoadVars _xmlsocket XMLSocket _so SharedObject _err Error _xmlnode XMLNode _ns NetStream _date Date _xml XML _nc NetConnection _cmi ContextMenuItem _video Video _pj PrintJob _cm ContextMenu _fmt TextFormat _mcl MovieClipLoader _color Color _txt TextField _mc MovieClip _cam Camera _str String _mic Microphone _btn Button _sound Sound _lc LocalConnection _array Array 後綴字物件類型後綴字物件類型後綴字物件類型

變數的資料型態 資料類型 Boolean MovieClip null Number Object String Undefined Void 說明 基本型態, 值可以是 true 或是 false, 若已宣告但未給初始值, 則預設值為 false 複雜型態, 可以讓您藉由使用 MovieClip 類別的方法, 來控制影片片段元件 基本型態, 值僅有 null, 也就是沒有值, 當變數宣告為複雜型態卻未給定值時, 其值就是 null 但 Object 例外, 其未給定值時, 內容為 undefined 基本型態, 可以代表整數 無正負號的整數和浮點數值 複雜型態, 是許多屬性的集合, 而屬性可由使用者自行增加 基本型態, 可以包含字母 數字和標點符號 基本型態, 僅包含一個值 undefined 這是宣告為 Object 的預設值 複雜型態, 只有一個值 void, 在函數定義中用來代表不會傳回值的函數 6

常用元件屬性 7 語法 : 元件名稱._ 屬性 元件名稱. 之後緊接著 _, 就是指定元件的屬性, 若未緊接著 _, 就是指定元件的方法 屬性是指元件本身的特徵, 方法是指元件可運作的功能 物件座標位置 : 物件名稱._x 物件名稱._y 物件寬高 : 物件名稱._width 物件名稱._xscale 物件名稱._height 物件名稱._yscale 物件透明度 物件名稱._alpha 物件是否顯示 物件名稱._visible ( alpha 值為 0 與 visible 值為 false 意義不同 ) 物件選轉角度 物件名稱._rotation

測試影片與測試用之偵錯函式 測試影片請按 Ctrl + Enter 測試用之最常用的偵錯函式就是 trace trace("xxxxxxxxxxxxx"); 常常列印一串字串, 以代表程式有執行到該行之前的程式 trace( myball_mc._x ); 列印出 myball_mc 這元件所在的 x 軸座標, 僅印出一組數字 trace("x 軸座標 = " + myball_mc._x ); 印出類似 x 軸座標 = 250 trace( "(x,y)=(" + myball_mc._x + ", " + myball_mc._y + " ) " ) 印出類似 (x,y)=( 250, 200 ) + 號用於字串代表字串的串接, 用於數字則代表相加 ; 若 + 號前後是一個字串與一個數字, 則屬於串接形式 8

運算式 ( 或陳述式 ) 運算符號 意義 運算符號 意義 var mycount:number = 0; var myjudge, i, j:boolean; + - * / 加減乘除 ++ -- && 加 1 減 1 邏輯 AND 邏輯 OR i = true; j = false; // mycount 累加 1 mycount++; trace( mycount ); // 做一些邏輯運算後儲存至 myjudge myjudge =!( i && j); trace( myjudge ); 9 % 取餘數! 邏輯 NOT 連續兩個斜線之後的敘述代表註解此程式輸出結果如下 : 1 true

指派運算 運算符號 = += -= *= /= %= 意義 將等號右邊的值設定給等號左邊變數 等號左邊變數加上等號右邊的值並儲存 等號左邊變數減掉等號右邊的值並儲存 等號左邊變數乘以等號右邊的值並儲存 等號左邊變數除以等號右邊的值並儲存 等號左邊變數除以等號右邊的值所得餘數儲存起來 x += 5; 相當於 x = x + 5; var num:number=18; num %= 7; trace( num = + num ); 列印出結果 : num = 4 10

判斷式 運算符號 意義 運算符號 意義 var mystring:string= 300 ; var mymoney:number=300; < <= ==!= 小於小於或等於等於不等於 > >= ===!== 大於 大於或等於 等於 ( 連資料型態都要相同 ) 不等於 ( 連資料型態都要相同 ) trace( mystring ); trace( mystring + mymoney ); trace( mystring == mymoney ); trace( mystring === mymoney ); trace( mystring!== 300 ); trace( mystring!== 300 ); 11 列印結果如下 : 300 300300 true false false true

if 條件陳述式 12 if ( 判斷式 ) { // 當判斷式成立 ( true ) 時, 運算式 ; // 執行大括弧內的程式, // 不成立 ( false ) 則跳過大括弧 } if ( 判斷式 ) { // 當判斷式成立時, 運算式 ; // 執行 if 後大括弧內的程式, } else { // 不成立則執行 else 後大括弧內的程式運算式 ; } if ( 判斷式 1 ) { // 當判斷式 1 成立時, 運算式 ; // 執行 if 後大括弧內的程式, } else if ( 判斷式 2 ) { // 當判斷式 1 不成立, 運算式 ; // 但判斷式 2 成立時, // 執行 else if 後大括弧內的程式, } else { // 當判斷式 1, 2 都不成立時, 運算式 ; // 執行 else 後大括弧內的程式 }

switch 條件陳述式 13 switch ( 變數或運算式 ) { // 檢測小括弧內的變數或運算式的值, case 值 1: // 當值符合哪一個 case, 運算式 ; // 則進入該 case 執行運算式, // 直到遇到 break 為止, 就跳出大括弧 ; break; // 若沒有一個 case 值符合, case 值 2: 運算式 ; break; case 值 3: 運算式 ; break; default : 運算式 ; break; } // 則執行 default 下的內容 // 值可以是數字或字串

for 迴圈 語法 for ( 初始值 ; 判斷式 ; 運算式 ) { 運算式 ; } for 迴圈的執行模式是 1. 先執行初始值, 並檢查判斷式是否成立, 若成立則執行大括弧內的運算式, 不成立則跳出 for 迴圈 2. 大括弧內的運算是執行完後, 再執行小括弧內的運算式, 並檢查判斷式是否成立, 若成立則執行大括弧內的運算式, 不成立則跳出 for 迴圈 3. 重複執行步驟 2 14

for 迴圈 範例 var sum:number=0; for ( var i=1; i<=10; i++ ) { sum += i; // 相當於 sum = sum + i; } // = 號左邊將 sum 和 i 值相加, trace ( "sum=" + sum); // 再存回等號左邊的 sum 執行初始值 i=1, 並檢查判斷式 i<=10 成立, 因此執行 sum += i; 此時 sum 的值為 1 再執行小括弧內的運算式 i++,i 的值變為 2, 再檢查判斷式 i<=10 成立, 因此再執行 sum += i;sum 的值變成 1+2 = 3 再執行小括弧內的運算式 i++,i 的值變為 3, 再檢查判斷式 i<=10 成立, 因此再執行 sum += i;sum 的值變成 3+3 = 6 再執行小括弧內的運算式 i++,i 的值變為 10, 再檢查判斷式 i<=10 成立, 因此再執行 sum += i;sum 的值變成 45+10 = 55 再執行小括弧內的運算式 i++,i 的值變為 11, 再檢查判斷式 i<=10 不成立, 因此跳出 for 迴圈, 執行輸出的動作 執行列印結果為 : sum=55 此程式乃執行 1 累加到 10 的運算 15

while 迴圈 語法 while ( 判斷式 ) { 運算式 ; } while 迴圈的執行模式是 1. 檢查判斷式是否成立, 若成立則執行大括弧內的運算式, 不成立則跳出 while 迴圈 2. 重複執行步驟 1 16

17 while 迴圈 範例 也用 while 迴圈來寫 1 累加到 10 的範例 var i:number=1; var sum:number=0; while ( i <= 10 ) { sum += i; i++; } trace( "sum=" + sum); 首先先設定初始值 i=1, sum=0 接下來判斷 i 值為 1 是否小於等於 10, 成立, 執行大括弧內之 sum 累加 i, 則 sum 值變為 1, 且下一行 i 累加成 2 再判斷 i 值為 2 是否小於等於 10, 成立, 執行大括弧內之 sum 累加 i, 則 sum 值變為 3, 且下一行 i 累加成 3 再判斷 i 值為 3 是否小於等於 10, 成立, 執行大括弧內之 sum 累加 i, 則 sum 值變為 6, 且下一行 i 累加成 4 再判斷 i 值為 10 是否小於等於 10, 成立, 執行大括弧內之 sum 累加 i, 則 sum 值變為 55, 且下一行 i 累加成 11 再判斷 i 值為 11 是否小於等於 10, 不成立, 跳出 while 迴圈, 列印 sum 的值 輸出結果為 sum=55

while 迴圈 另一種語法 do { 運算式 ; } while ( 判斷式 ); while 迴圈的執行模式是 1. 先執行一次大括弧內的運算式 2. 檢查判斷式是否成立, 若成立則執行大括弧內的運算式, 不成立則跳出 while 迴圈 3. 重複執行步驟 2 do while 迴圈和 while 迴圈不同的是 do while 一定至少會執行一次 18

巢狀 上述的 if, switch, for, while 等都可以互相包含使用, 這種一層包一層的方式, 稱之為巢狀 for ( var i=2; i<10; i++) { for ( var j=1; j<10; j++) { trace( i + "*" + j + "=" + i*j ); } } 19 以上的程式是列印九九乘法表 當 i 值為 2 時,j 的值會自 1 跑到 9, 各印出與 i 的乘積 i 值變為 3 時,j 的值會再自 1 跑到 9, 再各印出與 i 的乘積 以此類推, 直做到 9 * 9 為止 當所有程式執行完後,i 和 j 的值都會變為 10

影片除錯 遇到較複雜的程式, 有時候光用 trace 來找程式的錯誤 ( debug ) 是相當麻煩的方式,Flash 提供另一種除錯方式 影片除錯 ( Debug Movie ) 要使用影片除錯, 首先要在程式中設定中斷點 ( Breakpoint ) 之後再採用 Ctrl + Shift + Enter 來執行程式, 或點選 控制 / 影片除錯 ( Control / Debug Movie ) 可嘗試將九九乘法程式來做影片除錯 20

21 影片除錯畫面

Flash 時間軸的執行模式 如果 Timeline 上只有一個影格 ( Frame ), 則 Flash 執行完該 Frame 後就會停止 ; 但若 Timeline 上有兩個以上的影格, 則 Flash 執行完所有 Frame 後, 會不斷重複再執行 只執行一次就停止 會一直不斷的重複執行 Frame 1,2 22

第一個控制元件的程式 說明 讓場景上的元件緩慢的向右移動 Timeline 上放置兩個圖層 ( layer ), 第一個 layer 更名為 Action ( 主要放程式部份 ), 第二個 layer 更名為 circle ( 主要放元件部份 ), 每個 layer 第一個 frame 為關鍵影格 ( keyframe ), 第二個 frame 為影格 首先在 circle layer 的 keyframe 上, 場景內畫個圓, 轉成影片片段 ( MovieClip ) 元件, 並為場景上的圓命名為 myball_mc, 放在座標 ( 0,200 ) 在 Action layer 的 keyframe 上, 動作 影格 內寫下 myball_mc._x += 1; 執行看結果 23

24 第一個控制元件的程式 圖示