3-1 Wii ( )

Similar documents

中國文化大學第五屆畢業製作-論文組寫作格式樣本

(Microsoft Word - \261M\303D\263\370\247i\247\3572.doc)

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


【主持人】:给大家介绍一下,这次的培训是我们画刊部的第三次培训,当然今天特别有幸请来著吊的摄影家李少白老师给我们讲课


untitled

CWP156.pdf

專題報告.PDF

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

《將進酒》

21 flash

NOTEBOOK COOLING PAD WITH THREE-DIMENSION SEAKERS

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

¥]¸Ë»¡©ú

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

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

<4D F736F F D D C4EAC5A9D2B5B2FAD6B5BACDBCDBB8F1D7DBBACFCDB3BCC6B1A8B1EDD6C6B6C82E646F63>

(Microsoft Word - \277\357\262\325\252\272\246\322\266q.doc)

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 Word - Motion Program \270\305\264\272\276\363 \307\245\301\366 \271\327 \270\361\302\367.doc)

CC213

Microsoft Word - 中耳的主要疾病~中耳炎.doc

四川省普通高等学校

作品說明書.PDF

untitled

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

senior_article_2010.pdf


Microsoft Word - 01.DOC

C/C++语言 - 分支结构

目錄


快 樂 過 新 年 三 年 四 班 王 翊 又 是 新 的 一 年, 家 家 戶 戶 忙 著 做 事 大 家 一 同 去 拜 年 啪 啪 啪! 又 在 放 炮 竹 了! 真 是 熱 鬧! 媽 媽 買 了 許 多 的 年 菜, 嘿 嘿! 又 有 好 吃 的 了! 今 年 大 家 結 伴 去 拿 壓 歲

C/C++语言 - C/C++数据

3. 反 映 : 4. 五 花 八 门 : 5. 慷 慨 : 6. 参 与 : 7. 慰 劳 : 8. 延 续 : 9. 珍 爱 : 10. 浪 漫 : 三. 找 出 下 列 每 组 词 中 的 近 义 词 或 同 义 词 : 节 日 节 气 节 令 时 节 习 俗 民 俗 仪 式 风 俗 文 献


(Microsoft Word - \256g\275b\252\354\305\351\305\347.doc)


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

VB程序设计教程

,..,.,,,,,.,,.,., ,.,,.,,.,, 1,,, ; 2,,,,.,,,,.,,.,,,.,.,.,,.,.,,,.,,,.,,,,.,.,,,, i

图 书 在 版 编 目 ( 犆 犐 犘 ) 数 据 英 汉 汉 英 心 词 汇 手 册 / 苏 云 编. 上 海 : 上 海 外 语 教 育 出 版 社,2016 ( 外 教 社 英 汉 汉 英 百 科 词 汇 手 册 系 列 ) ISBN Ⅰ.1 英 Ⅱ.1 苏

彩圖 6 彩圖 7 彩圖 8 3

例題. y = x x = 0 y = x 0 li 0 li 0 li = y = x x = 0 = f x) x = a x = a 2

我 的 小 確 幸 四 : 在 第 二 份 打 工 時, 遇 到 一 位 對 我 非 常 好 的 同 事, 她 是 帶 我 的 人, 她 對 我 非 常 有 耐 性 的 教 導, 一 次 又 一 次 的 細 心 帶 領 在 這 次 的 期 中 考 前, 我 沒 上 班, 因 說 要 準 備 考 試,

ebook39-5

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

A. 蛋 餅 + 生 菜 = 營 養 更 均 衡 : 蛋 餅 是 油 餅 皮 加 上 一 顆 蛋, 含 有 人 體 所 需 的 碳 水 化 合 物 與 蛋 白 質, 但 少 了 膳 食 纖 維, 建 議 點 蛋 餅 時, 請 店 家 在 蛋 餅 中 加 點 生 菜, 營 養 會 更 均 衡 B. 鐵

untitled

虎克定律實驗 楊勝斐

<4D F736F F D20C1B9CAB3D2A9BCE0A1B A1B33536BAC520D3A1B7A C4EACFC2B0EBC4EAD2A9C6B7B3E9D1E9BFECBCECB9A4D7F7CAB5CAA9B7BDB0B8B5C4CDA8D6AA2E646F63>


说 : 荀 子 极 偏 驳, 只 一 句 性 恶, 大 本 已 失 5 朱 熹 说 : 荀 扬 不 惟 说 性 不 是, 从 头 到 底 皆 不 识 6 采 取 的 都 是 这 种 理 论 框 架 另 一 种 理 论 框 架 始 于 20 世 纪 前 期, 这 便 是 诸 子 学 研 究 的 框 架



运用多媒体提升实验教学有效性的研究.doc

<4D F736F F D C4EAC6D5CDA8B8DFB5C8D1A7D0A3D5D0C9FAC8ABB9FACDB3D2BBBFBCCAD4CEC4BFC6D7DBBACDCAD4BEEDBCB0B4F0B0B82DD6D8C7ECBEED2E646F63>

Microsoft Word - PHP7Ch01.docx

untitled

untitled

51 C 51 isp 10 C PCB C C C C KEIL

Microsoft Word 专业主干课程和主要专业课程的教学大纲.doc

精 勤 求 学 自 强 不 息 Born to win! 5 具 有 听 觉 的 不 足 6 个 月 的 婴 儿 能 迅 速 分 辨 相 似 的 语 音, 不 仅 仅 是 那 些 抚 养 这 些 婴 儿 的 人 使 用 的 语 言 的 声 音 而 年 轻 人 只 能 在 他 们 经 常 使 用 的


1abcd.doc

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

穨ac3-3.PDF

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

填 写 要 求 1. 以 word 文 档 格 式 如 实 填 写 各 项 2. 表 格 文 本 中 外 文 名 词 第 一 次 出 现 时, 要 写 清 全 称 和 缩 写, 再 次 出 现 时 可 以 使 用 缩 写 3. 本 表 栏 目 未 涵 盖 的 内 容, 需 要 说 明 的, 请 在


9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B


Figure 1: Game Tree 为 了 方 便 讨 论, 我 们 这 里 设 这 里 讨 论 的 博 弈 树 是 一 棵 有 限 树, 设 有 两 个 棋 手 甲 与 乙 进 行 这 场 博 弈, 这 样, 博 弈 树 分 为 三 类 结 点 : 1. 奇 数 层 的 非 叶 子 结 点 :

Microsoft PowerPoint - ds-1.ppt [兼容模式]

C C

第 二 章 假 山 后 的 情 侣 这 么 不 明 不 白 地 过 了 几 天, 我 的 心 里 无 时 无 刻 不 在 盘 算 着 弄 清 楚 一 些 事 情 等 我 可 以 流 利 表 达 的 时 候, 一 定 要 找 那 丫 头 打 听 下 情 况 我 肯 定 是 在 受 伤 期 间 失 忆

穨文件1

whitepaper.dvi

摘 要 本 校 多 媒 體 設 計 系 與 上 海 戲 劇 學 院 創 意 學 院 在 多 次 聯 繫 交 流 之 下, 已 簽 署 合 作 備 忘 錄, 積 極 尋 求 兩 校 合 作 教 學 與 共 同 創 作 之 機 會 藉 由 本 系 學 生 作 品 腦 殘 公 寓 入 圍 第 五 屆 中

Microsoft Word - 财务d08z.doc

untitled

华泰证券有限责任公司

新婚夫妇必读(二).doc


untitled

社会学概论名词解释

ebook39-6

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

Microsoft Word - ch04三校.doc

個 人 的 手, 拉 著 瞎 子 的 手 把 他 帶 往 村 外 的 時 候, 對 於 瞎 子 來 講, 那 個 人 的 手 和 耶 穌 的 手 有 沒 有 區 別? 沒 有! 為 什 麼 沒 有 區 別? 因 為 對 於 一 個 瞎 子 來 說, 手 和 耳 朵 就 是 他 接 觸 世 界, 瞭

投影片 1

深 耕 水 里 傳 承 創 新 113

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

目 录 第 一 章 右 脑 概 述 1 什 么 是 右 脑 记 忆 2 进 入 右 脑 学 习 模 式 第 二 章 视 野 训 练 1 一 点 凝 视 2 视 点 移 动 3 扩 大 视 野 4 3D 图 训 练 第 三 章 残 像 训 练 1 黄 卡 训 练 2 补 色 卡 训 练 3 彩 色 卡

1. 2. Flex Adobe 3.

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


C/C++ 语言 - 循环

Transcription:

03 3-1 3-2 3-3 3-4 3-5

3-1 Wii ( ) 3-2 3-3 8 8 3-4 3-5 3-4 3-3 3-2

3-5 8 ( sin cos ) 3-4 3-5 3-2 CH03_key4.fla ActionScript 3 12 "block_mc" + + "_" + 8 block_mc2_3 x_num y_num 1 01 02 03 04 05 06 07 08 09 10 3-3

(x_num y_ num) (1) ( ) ( ) actor_mc ActionScript 3 01 02 03 04 05 06 07 08 const x_num:int = 3; const y_num:int = 4; var actor_x:int = 1; var actor_y:int = 1; actor_mc.x = this["block_mc" + actor_x + "_" + actor_y].x; actor_mc.y = this["block_mc" + actor_x + "_" + actor_y].y; stage.addeventlistener(keyboardevent.key_down, playkeydown); stop(); 09 10 11 12 13 14 function playkeydown(event:keyboardevent) { var codec:int = event.charcode; if ( codec == 42 ) { // * actor_x = 1; actor_y = 4; else if ( codec == 35 ) { // # 3-4

15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 actor_x = 3; actor_y = 4; else { var codek:int = event.keycode; if (codek == 38 ) { // up actor_y --; if ( actor_y < 1 ) { actor_y = y_num; else if (codek == 40) { // down actor_y ++; if ( actor_y > y_num ) { actor_y = 1; else if (codek == 37) { // left actor_x --; if ( actor_x < 1 ) { actor_x = x_num; else if (codek == 39) { // right actor_x ++; if ( actor_x > x_num ) { actor_x = 1; else if (codek <= 57 && codek >=48) { // 0-9 var digit:int = codek-48; if ( digit == 0 ) { actor_x = 2; actor_y = 4; else { actor_x = digit % x_num; if ( actor_x == 0 ) { actor_x = x_num; actor_y = (digit - actor_x)/x_num + 1; 01 02 03 04 05 06 07 08 09 10 3-5

51 52 53 54 55 actor_mc.x = this["block_mc" + actor_x + "_" + actor_y].x; actor_mc.y = this["block_mc" + actor_x + "_" + actor_y].y; 解說 01 02 x_num y_num 03 04 05 06 x y 07 stage KEY_DOWN playkeydown() stage stage KEY_UP 08 0 9 5 5 p l a y K e y D o w n ( ) event:keyboardevent ActionScript 3 charcode keycode keycode charcode charcode shift keycode shif 3-6

10 charcode 11 17 18 51 keycode 19 38 39 50 0 9 keycode 48 57 48( 40) 0 ( 42 43) 1 9 ( 45 49) 53 54 x y charcode keycode 01 02 03 04 05 06 07 08 09 10 3-7

3-3 CH03_key8.fla 45 ( ) land_mc 2 2 land_ btn1 ( 1) land_btn2 ( 2) actor_mc 90 90 45 actor_mc 3-8

8 actor actor 3 1 2 3 2 影格 1, 初值 01 actor_mc.gotoandstop(" "); 02 var dx:int = 5; 03 var dy:int = 5; 04 var landtype:int = 1; 05 var dir_now, dir_old:int; 06 var dir1:boolean = false; 07 var dir2:boolean = false; 08 var dir3:boolean = false; 09 var dir4:boolean = false; 10 stage.addeventlistener(keyboardevent.key_down, playkeydown); 11 stage.addeventlistener(keyboardevent.key_up, playkeyup); 12 land_btn1.addeventlistener(mouseevent.click, land1); 13 land_btn2.addeventlistener(mouseevent.click, land2); 14 function playkeydown(event:keyboardevent) { 15 var codek:int = event.keycode; 16 if ( codek >= 37 && codek <= 40 ) { 17 this["dir" + (codek - 36)] = true; 18 getdirection(); 19 20 21 function playkeyup(event:keyboardevent) { 01 02 03 04 05 06 07 08 09 10 3-9

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 var codek:int = event.keycode; if ( codek >= 37 && codek <= 40 ) { this["dir" + (codek - 36)] = false; getdirection(); function getdirection() { if ( dir1 &&!dir2 &&!dir3 &&!dir4 ) { dir_now = 1; // else if ( dir1 && dir2 &&!dir3 &&!dir4 ) { dir_now = 2; // else if (!dir1 && dir2 &&!dir3 &&!dir4 ) { dir_now = 3; // else if (!dir1 && dir2 && dir3 &&!dir4 ) { dir_now = 4; // else if (!dir1 &&!dir2 && dir3 &&!dir4 ) { dir_now = 5; // else if (!dir1 &&!dir2 && dir3 && dir4 ) { dir_now = 6; // else if (!dir1 &&!dir2 &&!dir3 && dir4 ) { dir_now = 7; // else if ( dir1 &&!dir2 &&!dir3 && dir4 ) { dir_now = 8; // if ( dir_now!= dir_old ) { actor_mc.gotoandstop(dir_now); dir_old = dir_now; function land1(event:mouseevent) { landtype = 1; actor_mc.x = 320; actor_mc.y = 200; land_mc.gotoandstop(landtype); function land2(event:mouseevent) { 3-10

58 landtype = 2; 59 actor_mc.x = 320; 60 actor_mc.y = 200; 61 land_mc.gotoandstop(landtype); 62 解說 01 actor_mc ( ) 02 03 actor_mc actor_mc actor_mc 04 int 1 land_mc 1 2 05 2 actor_mc int dir_now ( ) dir_old ( ) actor_mc 06 09 Boolean false( ) true 10 stage KEY_DOWN playkeydown() 11 s t a g e K E Y _ U P playkeyup() 12 13 land_btn1 land_btn2 land1() land2() 01 02 03 04 05 06 07 08 09 10 3-11

1 4 2 0 p l a y K e y D o w n ( ) event:keyboardevent 15 keycode 16 19 37 40 true( 17) getdirection() ( 18) 2 1 2 7 p l a y K e y U p ( ) event:keyboardevent 22 26 37 40 false( 24) getdirection() ( 25) 28 50 getdirection() actor_mc 29 45 true false true( 30 34 38 42) 90 true( 32 36 40 44) 3-12

46 49 actor_mc ( 47) ( 48) 51 56 land1() event:mouseevent land_btn1 1( 52) actor_mc ( 53 54) land_mc ( 55) 57 62 land2() event:mouseevent land_btn2 2( 58) land1() 影格 2, 遊戲中 01 if ( dir1 dir2 dir3 dir4 ) { 02 actor_mc.actor.play(); 03 moveactor(); 04 else { 05 actor_mc.actor.gotoandstop(1); 06 07 function moveactor() { 08 var new_x, new_y:number; 09 var mx:int = 0; 10 var my:int = 0; 11 if ( dir_now == 1 ) { 12 mx = -dx; 13 else if ( dir_now == 2 ) { 14 mx = -dx; 15 my = -dy; 16 else if ( dir_now == 3 ) { 17 my = -dy; 18 else if ( dir_now == 4 ) { 01 02 03 04 05 06 07 08 09 10 3-13

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 mx = dx; my = -dy; else if ( dir_now == 5 ) { mx = dx; else if ( dir_now == 6 ) { mx = dx; my = dy; else if ( dir_now == 7 ) { my = dy; else if ( dir_now == 8 ) { mx = -dx; my = dy; new_x = actor_mc.x + mx; new_y = actor_mc.y + my; if ( landtype == 1 ) { if ( new_x>=100 && new_x<=540 && new_y>=60 && new_y<=340 ) { actor_mc.x = new_x; actor_mc.y = new_y; else { if ( land_mc.hittestpoint(new_x, new_y, true)) { actor_mc.x = new_x; actor_mc.y = new_y; 解說 01 06 true actor_mc actor_mc actor ( 02 ) moveactor() ( 03) actor_mc 3-14

05 false actor_mc actor_mc actor 1( ) 07 45 moveactor() 08 2 Number actor_mc 09 10 2 int actor_mc 0 11 31 ( ) 32 33 actor_mc 34 44 35 38 40 43 35 38 actor_mc actor_mc ( 36 37) 40 44 hittestpoint() land_mc actor_mc actor_mc ( 41 42) 01 02 03 04 05 06 07 08 09 10 3-15

影格 3 01 gotoandplay(" "); 解說 01 3-4 3-16

CH03_1.fla ( ) ( ) ( ) 3-4-1 遊戲流程 ( ) <Enter> 01 02 03 04 05 06 07 08 09 10 3-17

( ) stage KEY_DOWN KEY_UP <Enter> 3-4-2 舞台圖層配置 3-18

map_mc actor_mc block_ mc map_mc actor_mc map_mc actor_mc map_mc map_mc actor_mc map_mc map_mc map_mc map_mc map_mc score_txt smallmap_mc 01 02 03 04 05 06 07 08 09 10 3-19

3-4-3 主時間軸程式 影格 1, 載入進度 2-4 1 影格 2, 說明畫面 01 02 03 map_mc.actor_mc.visible = false; stage.addeventlistener(keyboardevent.key_down, gamestartkey); stop(); 04 05 06 07 08 09 function gamestartkey(event:keyboardevent) { var codek:int = event.keycode; if ( codek == 13 ) { gotoandplay(" "); 解說 01 map_mc actor_mc 02 stage gamestartkey() Flash 03 <Enter> 04 09 gamestartkey() keycode ( 05) 13 <Enter> ( 07) 3-20

影格 3, 初值化 01 stage.removeeventlistener(keyboardevent.key_down, gamestartkey); 02 map_mc.actor_mc.visible = true; 03 map_mc.actor_mc.gotoandstop(" "); 04 smallmap_mc.actor_mc.visible = false; 05 var spots:int = 5; 06 var score:int = 0; 07 var dx:int = 5; 08 var dy:int = 5; 09 var dir_now, dir_old:int; 10 var dir1:boolean = false; 11 var dir2:boolean = false; 12 var dir3:boolean = false; 13 var dir4:boolean = false; 解說 01 stage gamestartkey() 02 map_mc actor_mc 03 actor_mc 04 smallmap_m actor_mc actor_mc 05 int 06 int 0 07 13 影格 4, 遊戲開始 01 for (var i:int = 1; i<=spots; i++ ) { 02 while ( true ) { 01 02 03 04 05 06 07 08 09 10 3-21

03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 var mx:number = Math.floor(Math.random()*map_mc.width); var my:number = Math.floor(Math.random()*map_mc.height); if (!map_mc.block_mc.hittestpoint(mx+map_mc.x, my+map_mc.y, true) &&!map_mc.actor_mc.hittestpoint(mx+map_mc.x, my+map_mc.y)) { this["spot_mc" + i] = new spot_mc(); this["spot_mc" + i].x = mx; this["spot_mc" + i].y = my; this["spot_mc" + i].num = i; this["spot_mc" + i].gotoandplay(" "); map_mc.addchild(this["spot_mc" + i]); this["reddot_mc" + i] = new reddot_mc(); this["reddot_mc" + i].x = smallmap_mc.x + (mx)/10; this["reddot_mc" + i].y = smallmap_mc.y + (my)/10; stage.addchild(this["reddot_mc" + i]); break; centermap(); map_mc.setchildindex(map_mc.actor_mc, map_mc.numchildren-1); var bluedot:bluedot_mc = new bluedot_mc(); stage.addchild(bluedot); stage.addeventlistener(keyboardevent.key_down, playkeydown); stage.addeventlistener(keyboardevent.key_up, playkeyup); 26 27 28 29 30 31 32 33 34 35 36 function centermap() { map_mc.x = 320 - map_mc.actor_mc.x; map_mc.y = 240 - map_mc.actor_mc.y; function playkeydown(event:keyboardevent) { var codek:int = event.keycode; if ( codek >= 37 && codek <= 40 ) { this["dir" + (codek - 36)] = true; getdirection(); 3-22

37 function playkeyup(event:keyboardevent) { 38 var codek:int = event.keycode; 39 if ( codek >= 37 && codek <= 40 ) { 40 this["dir" + (codek - 36)] = false; 41 getdirection(); 42 43 44 function getdirection() { 45 if ( dir1 &&!dir2 &&!dir3 &&!dir4 ) { 46 dir_now = 1; // 47 else if ( dir1 && dir2 &&!dir3 &&!dir4 ) { 48 dir_now = 2; // 49 else if (!dir1 && dir2 &&!dir3 &&!dir4 ) { 50 dir_now = 3; // 51 else if (!dir1 && dir2 && dir3 &&!dir4 ) { 52 dir_now = 4; // 53 else if (!dir1 &&!dir2 && dir3 &&!dir4 ) { 54 dir_now = 5; // 55 else if (!dir1 &&!dir2 && dir3 && dir4 ) { 56 dir_now = 6; // 57 else if (!dir1 &&!dir2 &&!dir3 && dir4 ) { 58 dir_now = 7; // 59 else if ( dir1 &&!dir2 &&!dir3 && dir4 ) { 60 dir_now = 8; // 61 62 if ( dir_now!= dir_old ) { 63 map_mc.actor_mc.gotoandstop(dir_now); 64 dir_old = dir_now; 65 66 解說 01 19 map_mc smallmap_mc 01 02 03 04 05 06 07 08 09 10 3-23

02 18 map_mc while 03 04 x y Number x 0 map_mc y 0 map_mc 05 17 map_ mc block_mc actor_mc actor_mc hittestpoint() 2-3 stage (mx,my) map_mc stage hittestpoint() false 06 spot_mc spot_mc+ 07 08 x y 09 10 actor_mc 11 map_mc map_mc 3-24

12 reddot_mc reddot_ mc+ 13 14 x y 10( smallmap_mc map_mc 10%) smallmap_mc ( smallmap_mc ) 15 stag stage 16 while 20 centermap() actor_mc actor_mc 21 setchildindex() actor_mc map_ mc actor_mc actor_mc setchildindex() 2 1 2 numchildren 1( 0 ) 22 bluedot_mc bluedot smallmap_mc actor_mc 23 stag stage actor_mc 24 25 stage KEY_DOWN KEY_UP playkeydown() playkeyup() 01 02 03 04 05 06 07 08 09 10 3-25

26 29 actor_mc centermap() map_mc (320,240) actor_mc 30 36 playkeydown() 37 43 playkeyup() 44 66 getdirection() actor_mc map_mc( 63) actor_mc map_mc 影格 5, 遊戲中 01 02 03 04 05 06 07 08 09 10 updatescore(); if ( dir1 dir2 dir3 dir4 ) { map_mc.actor_mc.actor.play(); moveactor(); centermap(); else { map_mc.actor_mc.actor.gotoandstop(1); bluedot.x = smallmap_mc.x + (map_mc.actor_mc.x)/10; bluedot.y = smallmap_mc.y + (map_mc.actor_mc.y)/10; 11 12 13 14 15 16 17 18 19 20 function updatescore() { score_txt.text = score; function moveactor() { var new_x, new_y:number; var mx:int = 0; var my:int = 0; if ( dir_now == 1 ) { mx = -dx; else if ( dir_now == 2 ) { 3-26

21 mx = -dx; 22 my = -dy; 23 else if ( dir_now == 3 ) { 24 my = -dy; 25 else if ( dir_now == 4 ) { 26 mx = dx; 27 my = -dy; 28 else if ( dir_now == 5 ) { 29 mx = dx; 30 else if ( dir_now == 6 ) { 31 mx = dx; 32 my = dy; 33 else if ( dir_now == 7 ) { 34 my = dy; 35 else if ( dir_now == 8 ) { 36 mx = -dx; 37 my = dy; 38 39 new_x = map_mc.actor_mc.x + mx; 40 new_y = map_mc.actor_mc.y + my; 41 if (!map_mc.block_mc.hittestpoint(new_x+map_mc.x, new_y+map_mc.y, true)) { 42 map_mc.actor_mc.x = new_x; 43 map_mc.actor_mc.y = new_y; 44 45 解說 01 02 08 true actor_mc ( 03) moveactor() ( 04) actor_mc actor_mc actor_mc ( 05) 01 02 03 04 05 06 07 08 09 10 3-27

09 10 actor_mc 11 13 updatescore() score_txt 14 45 moveactor() hittestpoint() map_mc block_mc actor_mc 影格 6 01 02 03 04 05 if ( score == spots ) { gotoandstop(" "); else { gotoandplay(" "); 解說 01 05 ( 02) ( 04) 影格 7, 成功 01 02 03 map_mc.actor_mc.visible = false; stage.removechild(bluedot); stage.removeeventlistener(keyboardevent.key_down, playkeydown); 3-28

04 stage.removeeventlistener(keyboardevent.key_up, playkeyup); 05 stage.addeventlistener(keyboardevent.key_down, gamestartkey); 06 stop(); 解說 01 map_mc actor_mc 02 stage 03 04 stage 05 stage gamestartkey() <Enter> 06 3-4-4 特殊影片片段 01 02 03 04 05 06 07 08 09 10 3-29

1 3 actor_mc ( ) ( ) block_mc actor_mc hittestpoint ( ) ( ) alpha 0% ( ) actor_mc actor_mc ( ) ( ) hittestpoint block_mc actor_ mc 3-30

actor_mc Action & 影格 1, 初值 : 01 var num:int; 02 stop(); 解說 01 02 影格 2, 遊戲中 : actor_mc actor_ mc 01 02 03 04 05 06 07 08 09 10 3-31

01 02 03 04 05 06 07 08 if (Point.distance(new Point(this.x, this.y), new Point(parent.actor_mc.x,parent.actor_ mc.y)) < 70 ) { this.visible = true; else { this.visible = false; if ( this.hittestpoint(parent.actor_mc.x+parent.parent.map_mc.x, parent.actor_ mc.y+parent.parent.map_mc.y, true) ) { this.gotoandplay(" "); 解說 01 05 distance() actor_mc distance() 2 70 actor_mc 70 ( 02) ( 04) actor_mc 06 08 hittestpoint() actor_mc actor_mc stage x y map_mc ( 07) 影格 3: 01 gotoandplay(" "); 解說 01 3-32

影格 4, 找到 : 6 影格 6: 01 parent.parent.score ++; 02 stage.removechild(parent.parent["reddot_mc" + num]); 03 parent.removechild(this); 04 stop(); 解說 01 1 02 03 04 01 02 03 04 05 06 07 08 09 10 3-33

pose pose 8 actor 1 8 actor_mc 8 pose actor ( ) 1 10 2 actor_mc 3-5 3-34