中 華 大 學 資 訊 工 程 學 系 遊 戲 設 計 專 題 報 告 Android 手 機 遊 戲 設 計 電 流 急 急 球 Thunder Ball 組 長 莊 育 傑 (B10002071) 組 員 游 名 駿 (B10002081) 指 導 老 師 俞 征 武 老 師 中 華 民 國 一 零 四 年 6 月 29 日
目 錄 1 序 論 2 1.1 遊 戲 設 計 背 景 與 動 機 2 1.2 設 計 目 的 2 1.3 系 統 功 能 2 2 開 發 環 境 3 2.1 Unity3D 3 2.2 Adobe PhotoShop CS5 3 2.3 Unity 簡 單 操 作 3 3 問 題 與 解 決 辦 法 9 4 遊 戲 內 容 10 4.1 遊 戲 介 紹 10 4.2 遊 戲 介 面 10 4.3 地 圖 11 4.4 模 組 14 4.5 動 畫 製 作 16 4.6 遊 戲 流 程 圖 17 4.7 部 分 程 式 18 5 討 論 21 6 結 論 21 7 工 作 分 配 22 8 參 考 文 獻 22 頁 1
1 序 論 1.1 遊 戲 設 計 背 景 與 動 機 近 年 來 隨 者 智 慧 型 手 機 的 興 起, 老 舊 功 能 的 手 機 逐 漸 被 淘 汰, 而 智 慧 型 手 機 強 大 的 功 能 使 得 使 用 者 的 喜 愛, 人 人 幾 乎 都 有 一 台 智 慧 型 手 機 傳 統 的 桌 上 型 電 腦 的 遊 戲, 上 班 族 們 也 不 能 長 久 的 待 在 電 腦 桌 上, 而 簡 便 又 好 攜 帶 的 手 機, 取 代 了 線 上 遊 戲 或 PC 遊 戲 的 人 群, 而 學 生 們 也 可 在 閒 暇 時 間 使 用 手 機 玩 遊 戲 正 因 為 人 人 幾 乎 都 有 一 台 智 慧 型 手 機 ( 有 的 人 甚 至 有 2~3 台 以 上 ) 手 機 遊 戲 的 市 場 也 越 來 越 龐 大, 許 多 的 遊 戲 公 司 也 盯 上 的 這 個 市 場, 也 漸 漸 從 傳 統 的 線 上 遊 戲 或 PC 遊 戲 踏 入 手 機 遊 戲 設 計 的 行 列 因 此 手 機 遊 戲 的 開 發 正 是 一 個 未 來 遊 戲 發 展 的 先 趨 勢 1.2 設 計 目 的 藉 由 設 計 一 個 手 機 遊 戲, 我 們 將 了 解 遊 戲 的 製 作, 開 發 工 具 的 使 用 學 到 新 的 知 識, 也 可 在 未 來 找 到 相 關 工 作 而 Unity3D 是 目 前 最 容 易 上 手 的 開 發 工 具, 不 管 事 新 手 老 手, 又 或 是 是 一 些 遊 戲 公 司, 都 在 使 用 Unity3D, 如 果 學 會 使 用 Unity3D, 在 遊 戲 公 司 就 會 比 較 快 上 手, 也 比 較 容 易 找 到 遊 戲 相 關 的 工 作 使 用 Unity3D 開 發 的 知 名 遊 戲 有 : 神 魔 之 塔 (2013) 廢 土 2(2013) Kingdom Knights - 王 國 騎 士 團 (2013) 等 等 知 名 遊 戲 1.3 系 統 功 能 本 遊 戲 的 功 能 將 包 含 以 下 的 功 能 : 藉 由 陀 螺 儀 在 場 景 上 移 動, 玩 家 既 可 用 手 機 的 旋 轉 弧 度 讓 球 球 移 動 倒 數 動 畫 的 製 作, 遊 戲 一 開 始 撥 放,3 2 1 Go 字 樣 倒 數 球 球 碰 撞 電 網 或 怪 物 等 等 觸 發 事 件, 觸 發 事 件 為 觸 電 動 畫 的 撥 放, 播 放 完 畢 後, 將 重 新 開 始 這 一 關 球 球 推 動 箱 子 到 按 鈕 上 來 達 成 開 門 的 條 件 怪 物 的 移 動, 例 如 : 來 回 跑 動 上 下 擺 動 走 正 方 形 隨 處 亂 跑 Boss 的 移 動 與 攻 擊, 移 動 方 式 如 : X 型 移 動 沙 漏 移 動 等 等, 而 攻 擊 方 式 有 隊 球 球 吐 火 球 暴 衝 到 玩 家 位 置 八 方 位 丟 火 球 等 頁 2
2 開 發 環 境 2.1 Unity3D 在 此 章 節 中 我 們 將 介 紹 所 使 用 的 遊 戲 平 台 開 發 工 具 Unity3D Unity 是 由 Unity Technologies 開 發 的 一 個 讓 玩 家 輕 鬆 創 建 諸 如 三 維 視 頻 遊 戲 建 築 視 覺 化 即 時 三 維 動 畫 等 類 型 互 動 內 容 的 多 平 臺 的 綜 合 型 遊 戲 開 發 工 具, 是 一 個 全 面 整 合 的 專 業 遊 戲 引 擎 Unity 也 是 一 個 跨 平 台 的 遊 戲 引 擎, 可 以 開 發 在 Android ios Linux 網 頁 遊 戲 PC 線 上 遊 戲 等 等 Unity 遊 戲 引 擎 的 主 要 特 色 1. 層 級 式 的 綜 合 開 發 環 境, 視 覺 化 編 輯, 詳 細 的 屬 性 編 輯 器 和 動 態 的 遊 戲 預 覽 2. 內 建 地 形 編 輯 器, 支 援 樹 木 與 植 被 貼 片 3. 多 人 網 路 連 線 功 能 由 第 三 方 套 件 提 供, 有 Raknet Photon SmartFoxServer 等, 多 種 選 擇 4. 可 將 製 作 的 遊 戲 發 佈 到 PC Web ios Android 平 台 5. 強 大 而 逼 真 的 物 理 效 果, 比 如 物 體 的 質 量 ( 重 量 ), 重 力, 碰 撞 反 彈 等 等 2.2 Adobe PhotoShop CS5 我 們 將 利 用 Adobe PhotoShop CS5 進 行 影 像 處 理 由 Adobe 開 發 和 發 行 的 影 像 處 理 軟 體 Photoshop 主 要 處 理 以 像 素 所 構 成 的 數 位 影 像 使 用 其 眾 多 的 編 修 與 繪 圖 工 具, 可 以 更 有 效 的 進 行 圖 片 編 輯 工 作 獨 特 的 歷 史 紀 錄 浮 動 視 窗 和 可 編 輯 的 圖 層 效 果 功 能 使 使 用 者 可 以 方 便 的 測 試 效 果 對 各 種 濾 鏡 的 支 援 更 令 使 使 用 者 能 夠 輕 鬆 創 造 出 各 種 奇 幻 的 效 果 我 們 主 要 用 於 怪 物 圖 片 電 網 球 球 的 背 景 透 明, 多 張 圖 片 合 成 2.3 Unity 簡 單 操 作 張 地 圖 Unity 的 遊 戲 是 有 很 多 場 景 組 成 的 ( 圖 2.3.1), 藉 由 切 換 場 景 來 前 往 下 一 頁 3
圖 2.3.1 Unity 的 遊 戲 是 有 很 多 場 景 組 成 每 個 物 件 都 有 屬 性 ( 圖 2.3.2), 而 Collider 2D 就 是 碰 撞 器, 圖 2.3.3 的 球 外 圍 的 綠 線 就 是 碰 撞 線, 當 2 個 物 件 碰 撞 時 (2 者 的 Collider 2D 一 定 要 有 ),1 方 Is Trigger 打 勾 一 方 不 用 就 可 以 觸 發 程 式 了, 而 程 式 就 掛 在 物 件 的 屬 性 攔 ( 圖 2.3.2) Rigidbody2D 是 2D 遊 戲 的 物 理 效 果, 遊 戲 中 的 推 箱 子 就 靠 他, 裡 面 也 有 很 多 屬 性, 重 量 重 力 固 定 角 度 等 等 圖 2.3.2 每 個 物 件 都 有 屬 性 頁 4
圖 2.3.3 球 外 圍 的 綠 線 就 是 碰 撞 線 程 式 主 要 分 2 個 function Start() 和 function Update() function Start : 遊 戲 一 開 始 時 執 行 1 次 ( 只 有 1 次 ) function Update : 每 一 幀 執 行 一 次 ( 幀 的 速 度 看 硬 體, 例 :1 秒 24 幀 或 30 幀 ) Hierarchy 視 窗 是 你 的 物 件 放 置 的 位 置 ( 圖 2.3.4), 放 置 就 會 出 現 在 場 景 ( 圖 2.3.5), 也 可 以 按 Create( 圖 2.3.6), 裡 面 有 很 多 的 物 件, 例 如 : GUIText( 文 字 方 塊 ) GUITexture( 按 鈕 ) Cube( 正 方 體 ) sphere( 球 體 ) 等 等 圖 2.3.4 物 件 視 窗 圖 2.3.5 場 景 視 窗 圖 2.3.6 物 件 新 增 在 Unity 中, 你 可 以 隨 時 測 試 你 的 遊 戲, 利 用 Game 視 窗 ( 圖 2.3.7) 來 看 遊 戲 的 執 行 效 果 快 捷 鍵 有 4 個 選 項 ( 圖 2.3.8), 手 按 鈕 移 動 場 景,4 方 按 鈕 移 動 物 件, 旋 轉 按 鈕 可 以 調 整 物 件 角 度 ( 即 旋 轉 物 件 ), 最 後 一 個 按 鈕 是 調 整 物 件 大 小 當 然 也 可 以 在 Inspector( 屬 性 攔 ) 調 整 Transform 屬 性 裡 Position( 位 置 ) Rotation( 角 度 ) Scale( 大 小 ) ( 圖 2.3.9) 頁 5
圖 2.3.7 Game 視 窗 來 測 試 執 行 效 果 圖 2.3.8 物 件 調 整 快 捷 鍵 圖 2.3.9 直 接 調 整 屬 性 頁 6
Project 視 窗 是 資 料 的 放 置 位 置, Import 的 資 料 寫 的 程 式 圖 片 音 樂 都 放 在 這 個 視 窗 內 ( 圖 2.3.10),Console 視 窗 是 執 行 時 如 果 程 式 有 錯, 會 出 現 錯 誤 訊 息, 他 會 告 訴 你 哪 裡 有 錯 圖 2.3.10 檔 案 視 窗 如 果 覺 得 自 己 重 複 製 造 輪 子 很 麻 煩, 可 以 使 用 Asset Store 開 啟 方 法 點 選 Window -> Asset Store( 圖 2.3.10), 裡 面 有 很 多 的 Package 或 者 遊 戲 和 範 例 可 以 下 載 Import, 不 過 要 注 意 裡 面 有 一 些 是 要 錢 的 圖 2.3.10 Asset Store 頁 7
最 後 要 將 遊 戲 輸 出 時, 在 Edit -> Project -> Player 設 定 屬 性 ( 圖 2.2.11) 設 定 名 稱 公 司 開 發 平 台 圖 標 等 等 假 設 是 手 機, 就 要 設 定 一 些 屬 性,Android 版 本 CPU 等 等 ( 圖 2.2.12) 圖 2.2.11 設 定 名 稱 公 司 圖 標 等 等 2.2.12 手 機 屬 性 設 定 頁 8
3 問 題 與 解 決 辦 法 本 節 說 明 開 發 的 過 程 所 碰 到 的 問 題 及 解 決 方 法 Q1: 推 箱 子 時, 箱 子 會 轉 動? A: Fixed Angle 要 打 勾, 用 於 固 定 角 度 Q2: 推 箱 子 時,2 個 相 連 的 箱 子 會 一 起 推 動? A: 將 箱 子 設 定 成 固 定 不 動, 而 被 推 的 箱 子 碰 觸 到 球 ( 玩 家 ) 時, 將 可 以 推 動, 離 開 被 推 的 箱 子 時, 被 推 的 箱 子 在 設 定 成 固 定 不 動 Q3: 音 樂 暫 停 時 在 啟 動 沒 有 聲 音? A: 因 為 程 式 的 執 行 是 每 1 幀 執 行 一 次, 啟 動 時 一 直 執 行 就 會 出 問 題, 改 成 只 會 執 行 一 次 就 可 以 了 Q4: 音 樂 的 圖 標 會 顯 示 在 畫 面 上? A: 將 它 覆 蓋 掉 或 者 使 用 程 式 讀 取 圖 標, 設 為 不 可 見 Q5: 暫 停 時 還 是 會 有 怪 物 或 玩 家 可 以 動 作? A: Time.timeScale = 0 代 表 將 時 間 相 關 的 動 作 暫 停, 而 有 些 動 作 不 歸 這 個 函 式 管 轄 ( 比 如 陀 螺 儀 的 移 動 ), 所 以 設 計 一 個 開 關, 暫 停 時 開 關 一 開 所 有 動 作 設 置 成 不 可 動 Q6: 觸 電 後 球 球 可 以 移 動, 導 致 暴 力 破 關? A: 設 置 一 個 開 關, 強 制 觸 電 時 球 球 不 可 移 動 Q7: 觸 電 動 畫 無 法 暫 停? A: 由 於 動 畫 的 暫 停 需 要 動 畫 模 型, 而 我 只 做 了 動 圖, 動 畫 模 型 的 製 作 方 法 並 不 清 楚, 只 好 將 動 畫 丟 得 遠 遠 的, 觸 發 時 ( 碰 撞 怪 物 電 網 ), 瞬 間 移 動 到 球 球 位 置 Q8: 觸 電 後 球 球 可 以 移 動, 導 致 暴 力 破 關? A: 設 置 一 個 開 關, 強 制 觸 電 時 球 球 不 可 移 動 Q9: 在 電 腦 上 執 行 沒 問 題, 在 手 機 上 卻 當 掉 了? A: 發 現 原 來 是 圖 片 解 析 度 太 高 ( 檔 案 太 大 ), 手 機 無 法 負 荷, 縮 小 圖 片 就 可 以 了 頁 9
4 遊 戲 內 容 4.1 遊 戲 介 紹 這 是 一 款 益 智 遊 戲, 需 要 較 高 的 耐 心 與 一 點 點 的 解 謎, 遊 戲 中 共 有 3 大 關 每 一 大 關 有 10 小 關, 共 計 30 關, 遊 戲 隨 者 關 卡 越 後 面 難 度 越 高, 地 圖 ( 迷 宮 ) 越 大 怪 物 越 多, 而 第 3 大 關 有 3 關 設 置 了 Boss, 場 景 中 有 飛 彈, 碰 觸 飛 彈 後, 飛 彈 會 消 失 並 且 去 攻 擊 Boss, 就 可 以 看 到 Boss 血 量 少 一 格, Boss 血 量 歸 零 則 過 關 遊 戲 開 始 時 玩 家 就 由 陀 螺 儀 移 動 球 球, 閃 避 電 網 與 怪 物, 中 期 會 出 現 箱 子 與 按 鈕, 將 箱 子 推 向 按 鈕, 達 成 條 件 時 門 會 開 啟 中 後 期 開 始 出 現 傳 送 陣, 傳 送 陣 會 傳 往 指 定 地 點, 玩 家 必 須 找 到 唯 一 傳 送 到 過 關 地 點 附 近 的 傳 送 陣, 否 則 只 會 一 直 繞 圈 子 操 作 介 紹 : 點 選 按 鈕 進 入 關 卡 ( 場 景 ) 使 用 陀 螺 儀 將 手 機 傾 斜 移 動 球 球 關 卡 中 點 選 暫 停 按 鈕 進 行 暫 停 或 者 回 首 頁 和 離 開 遊 戲 4.2 遊 戲 介 面 圖 4.2.1 是 我 們 的 開 始 畫 面, 中 間 的 是 倒 數 開 始, 左 下 角 的 紫 色 按 鈕 是 暫 停, 圖 4.2.2 的 球 球 是 我 們 通 過 陀 螺 儀 來 移 動 的 圖 4.2.1 開 始 畫 面 圖 4.2.2 通 過 陀 螺 儀 移 動 頁 10
圖 4.2.3 是 我 們 的 Boss 關 卡, 上 方 是 Boss 血 量, 三 格 代 表 Boss 有 3 格 血, 地 圖 上 的 飛 彈 會 有 3 個, 球 球 右 上 方 的 火 焰 則 是 Boss 的 攻 擊, 前 方 的 飛 彈 是 攻 擊 Boss 用 的 圖 4.2.4 球 球 前 方 是 我 們 的 Boss 圖 4.2.3 Boss 關 卡 介 紹 圖 4.2.4 Boss 4.3 地 圖 ( 場 景 迷 宮 ) 成 品 展 示 : 由 於 關 卡 太 多, 我 們 只 列 出 幾 個 場 景 場 景 1. 第 1 10 關 ( 圖 4.3.1) 圖 4.3.1 關 卡 1-10 頁 11
場 景 2. 第 2 10 關 ( 圖 4.3.2) 場 景 3. 第 3 1 關 ( 圖 4.3.3) 圖 4.3.2 關 卡 2-10 圖 4.3.3 關 卡 3-1 頁 12
場 景 4. 第 3 6 關 ( 圖 4.3.4) 場 景 5. 第 3 10 關 ( 圖 4.3.5) 圖 4.3.4 關 卡 3-6 圖 4.3.5 關 卡 3-10 頁 13
4.4 模 組 名 稱 圖 片 說 明 手 裡 劍 固 定 位 置 旋 轉, 有 的 轉 動 很 快 有 的 很 慢 水 精 靈 圖 4.4.1 左 右 來 回 移 動 圖 4.4.2 水 母 做 正 方 形 ( 長 方 形 ) 移 動 沙 漠 毒 蠍 圖 4.4.3 左 右 來 回 移 動 圖 4.4.4 Boss : 火 龍 X 型 方 式 移 動, 每 1 秒 向 球 球 吐 火 球, 最 多 5 個 頁 14
Boss : 炎 魔 獸 圖 4.4.5 沙 漏 型 方 式 移 動, 會 吐 火 球,30 秒 一 次 向 球 球 暴 衝 圖 4.4.6 Boss : 火 鳳 凰 菱 形 方 式 移 動, 分 上 下 左 右 四 個 菱 形, 每 1 秒 向 球 球 吐 火 球, 最 多 5 個, 每 5 秒 向 8 方 吐 火 球 圖 4.4.7 黑 洞 會 快 速 放 大 緩 速 縮 小 圖 4.4.8 傳 送 陣 將 球 球 傳 送 到 地 圖 上 指 定 位 置 圖 4.4.9 岩 漿 火 狼 火 球 圖 4.4.10 在 正 方 形 範 圍 移 動, 類 似 於 螢 幕 保 護 程 式 的 泡 泡, 到 達 邊 界 入 射 角 向 出 射 角 移 動 Boss 的 攻 擊 發 射 出 去 過 關 圖 4.4.11 通 往 下 一 關 圖 4.4.12 頁 15
4.5 動 畫 的 製 作 圖 4.5.1 觸 電 動 畫 圖 圖 4.5.2 倒 數 動 畫 圖 將 觸 電 動 畫 ( 圖 4.4.1) 與 倒 數 動 畫 ( 圖 4.4.2) 切 成 4 分 在 動 畫 製 作 中 調 整 多 少 秒 切 換 下 一 張, 例 如 : 觸 電 是 0.05 秒 ( 圖 4.5.3), 而 倒 數 是 一 秒 鐘 ( 圖 4.5.4) 圖 4.5.3 觸 電 動 畫 設 定 圖 4.5.4 倒 數 動 畫 設 定 頁 16
4.6 遊 戲 流 程 圖 開 始 載 入 場 景 球 球 用 陀 螺 儀 移 動 是 否 是 大 關 的 最 後 一 關 No 判 定 電 網 或 是 怪 物 碰 撞 發 生 觸 電 動 畫 撥 放 判 定 對 象 是 過 關 前 往 下 一 關 Yes 下 一 關 回 首 頁 說 明 : 遊 戲 一 開 始 有 3 大 關, 每 一 大 關 有 10 小 關, 碰 觸 電 網 怪 物 等 從 這 一 小 關 重 新 開 始, 碰 觸 過 關 圖 則 前 往 下 一 關, 如 果 是 這 一 大 關 的 最 後 一 關, 則 回 首 頁 說 明 : 魔 王 流 程 圖 移 動 計 算 血 量 倒 數 時 間 歸 0 死 亡 每 1 秒 執 行 一 次 對 球 球 丟 火 球 每 30 秒 執 行 一 次 每 5 秒 執 行 一 次 向 八 方 丟 火 球 暴 衝 到 球 球 位 置 第 1 個 Boss(3-4) 只 會 丟 火 球, 第 2 個 Boss(3-7) 會 丟 火 球 和 暴 衝, 第 3 個 Boss(3-10) 會 丟 火 球 和 向 八 方 丟 火 球 頁 17
4.7 部 分 程 式 遊 戲 使 用 JavaScript 語 言 陀 螺 儀 移 動 程 式 : #pragma strict public class move extends MonoBehaviour { var z : int; //Z 用 於 暫 停 時 與 倒 數 時 讓 球 球 部 移 動 function Start() { z = 0; function Update () { z = PlayerPrefs.GetInt("Z"); if(time.timescale!= 0 && z!= 1) { transform.translate(0.4 * Input.acceleration.x, 0.4 * Input.acceleration.y, 0); 說 明 : transform.translate 是 讓 物 體 移 動, 而 Input.acceleration 取 得 陀 螺 儀 的 頃 斜 碰 撞 條 件 : #pragma strict function Start() { c = Application.loadedLevel; // 取 得 當 前 場 景 號 碼 PlayerPrefs.SetInt("Continue", c); function OnTriggerEnter2D(col : Collider2D) { if(col.gameobject.name == "pass") { if((c + 1) == 12 (c + 1) == 22 (c + 1) == 32) Application.LoadLevel(0); Application.LoadLevel(c+1); // 前 往 下 一 關 if(col.gameobject.name == "wall" col.gameobject.name == "bound" col.gameobject.name == "door") { PlayerPrefs.SetInt("K", 1); // K 用 於 啟 動 觸 電 動 畫 說 明 : OnTriggerEnter2D 是 當 2 物 件 碰 撞 那 一 剎 那 執 行 col.gameobject.name == "pass" 則 是 要 取 得 你 碰 撞 對 象 的 名 稱, 碰 撞 pass 則 是 過 關, 並 且 前 往 下 一 關 頁 18
觸 電 動 畫 程 式 : #pragma strict var k : int; var n : double; var a : int; var x : double; var y : double; var c : int; var player : GameObject; var player2 : GameObject; function Start() { k = 0; a = 0; n = 3; // 倒 數 用 player = GameObject.Find("ball"); player2 = GameObject.Find("elaudio"); player2.audio.pause(); function Update () { k = PlayerPrefs.GetInt("K"); c = PlayerPrefs.GetInt("Continue"); x = player.transform.position.x; y = player.transform.position.y; if(k == 1) { a = 1; k = 0; player2.audio.play(); // 啟 動 觸 電 聲 音 PlayerPrefs.SetInt("K", 0); PlayerPrefs.SetInt("Z", 1); // 暫 停 陀 螺 儀 移 動 gameobject.transform.position.x = x; gameobject.transform.position.y = y; if(a == 1) { n -= Time.deltaTime; // 倒 數 時 間 if(n < 0) Application.LoadLevel(c); // 重 新 開 始 這 一 關 說 明 : PlayerPrefs.GetInt 是 得 到 儲 存 的 資 料,PlayerPrefs.SetInt("Z", 1) 是 儲 存 資 料 1 名 稱 為 Z, 和 PHP 的 方 式 有 一 點 像 找 到 球 球 的 位 置, 將 動 畫 瞬 間 移 動 到 球 球 位 置, 倒 數 3 秒 鐘 後 重 新 開 始 這 一 關 傳 送 陣 程 式 : #pragma strict function OnTriggerEnter2D(col : Collider2D) { if(col.gameobject.name == "conveya") { gameobject.transform.position = Vector3(-15,15,0); if(col.gameobject.name == "conveyb") { gameobject.transform.position = Vector3(0,15,0); // 以 下 很 多 個 簡 略 呈 現 說 明 : 方 法 非 常 簡 單, 判 斷 碰 觸 對 象 名 稱, 前 往 指 定 地 點, 例 :Vector3(0,15,0); 頁 19
火 球 攻 擊 程 式 : #pragma strict var player : GameObject; var player2 : GameObject; var num : double; var d : int; var x : int; var y : int; function Start () { d = 0; player = GameObject.Find("ball"); player2 = GameObject.Find("boss01"); x = player.transform.position.x; y = player.transform.position.y; function Update () { d = PlayerPrefs.GetInt("D"); if(d!= 1) transform.position = Vector3.MoveTowards(transform.position, Vector3(x,y,0), Time.deltaTime * 30); if(gameobject.transform.position.x == x) { gameobject.transform.position = player2.transform.position; x = player.transform.position.x; y = player.transform.position.y; 說 明 : 讀 取 球 球 與 Boss 的 位 置, 從 Boss 位 置 出 發 前 往 球 球 位 置, 抵 達 球 球 位 置 後 又 重 新 從 Boss 位 置 出 發, 以 下 程 式 () 內 分 別 為 : 目 前 位 置 抵 達 位 置 速 度 Vector3.MoveTowards(transform.position,Vector3(x,y,0), Time.deltaTime * 30); 開 門 程 式 : #pragma strict var door : int; var player : GameObject; function Start () { door = 0; player = GameObject.Find("door"); function OnTriggerEnter2D(col : Collider2D) { if(col.gameobject.name == "pbox") { door = PlayerPrefs.GetInt("Door"); door++; PlayerPrefs.SetInt("Door", door); 說 明 : 判 斷 箱 子 推 到 按 鈕 上 後 Door 數 字 會 增 加, 達 成 指 定 數 字 後, 用 Destroy(gameObject) 將 門 刪 除 頁 20
5 討 論 這 個 遊 戲 對 我 們 來 說 大 概 就 只 能 算 是 專 題 而 已, 比 起 在 Google Store 的 遊 戲 來 說, 不 管 是 動 畫 效 果 聲 音 美 術 設 計 都 需 要 加 強 的 地 方 太 多 了, 當 初 的 Boss 也 想 了 8 種 攻 擊 方 法, 但 是 條 件 判 定 困 難 及 動 畫 製 作 困 難, 所 以 只 挑 選 了 3 個 來 做, 當 然 也 有 硬 體 的 因 素, 測 試 的 平 板 在 關 卡 中 當 機 了, 原 因 是 有 太 多 的 物 件 ( 下 劍 雨 + 黑 洞 + 怪 物 +Boss 的 攻 擊 ) 讓 平 板 運 算 不 過 來 關 卡 也 從 50 關 改 成 30 關, 有 老 師 和 我 們 討 論 其 實 不 需 要 做 到 50 關, 這 樣 太 多, 後 來 也 決 定 刪 去 20 關, 第 一 大 關 大 概 1 天 做 完 一 關, 第 二 大 關 2~3 天 做 完 一 關, 第 三 大 關 就 需 要 3 天 以 上, 地 圖 的 電 網 要 一 快 一 塊 拼, 如 果 是 圓 形 的 電 網, 還 需 要 手 動 去 調 整 碰 撞 線, 那 就 更 花 時 間 了 6 結 論 一 開 始 覺 得 不 過 就 是 遊 戲, 一 定 很 好 做, 上 網 查 詢 手 機 得 知 大 多 數 新 手 設 計 遊 戲 都 使 用 Unity, 也 都 說 很 簡 單 但 經 歷 實 際 操 作 後 發 覺 並 非 如 此, 要 找 範 例 看 影 片 知 道 怎 麼 做, 找 尋 Unity 程 式 的 API, 了 解 那 些 函 式 在 做 甚 麼, 那 些 是 我 們 要 的, 每 一 個 環 節 都 要 投 入 相 當 的 心 力 和 注 意 細 節, 否 則 就 容 易 出 錯 設 計 遊 戲 是 一 個 不 錯 的 挑 戰, 雖 然 和 當 初 的 目 標 少 了 30% 但 可 以 增 加 我 們 解 決 困 難 的 方 法 與 思 路, 希 望 藉 由 這 次 的 經 驗, 在 未 來 能 找 到 好 的 工 作 感 謝 老 師 在 一 開 始 的 想 法 引 導 與 建 議, 耐 心 地 與 我 們 討 論 創 意 的 設 計 與 功 能 的 增 加, 也 幫 助 我 們 在 專 題 報 告 上 的 不 足 之 處 與 如 何 修 改, 果 然 是 桃 李 滿 天 下 的 教 授, 實 力 驚 人, 老 師 教 給 我 們 的 知 識, 將 會 幫 助 我 們 在 未 來 走 得 更 遠 頁 21
7 工 作 分 配 學 號 / 姓 名 工 作 B10002071 莊 育 傑 程 式 找 素 材 地 圖 設 計 地 圖 放 置 介 面 製 作 動 畫 製 作 B10002081 游 名 駿 找 素 材 地 圖 設 計 地 圖 放 置 碰 撞 調 整 8 參 考 文 獻.Unity API (http://docs.unity3d.com/scriptreference/) - 提 供 Unity 的 函 式 庫.YouTube (https://www.youtube.com/) - 搜 尋 Unity 會 有 很 多 教 學 影 片. 遊 戲 蠻 牛 (http://www.unitymanual.com/) - 提 供 很 多 文 章 關 於 Unity 的 教 學, 還 可 以 發 問.CG 數 位 學 習 網 (http://www.cg.com.tw/) - 提 供 很 多 關 於 Unity 的 教 學, 新 手 的 簡 單 元 件 與 控 制 介 紹. 黃 新 峰,Unity 跨 平 台 全 方 位 遊 戲 開 發 入 門 寶 典, 民 國 103 年 頁 22