如何建立附著於玩家的武器 | hyperPad Documentation
Logo
Documentation教學如何建立附著於玩家的武器

如何建立附著於玩家的武器

在本教學中,我們會製作一把附著在角色身上的武器,也會學習如何設定一個能自由移動和跳躍、並帶著武器行動的角色。這把武器可以發射碰撞時會爆炸的砲彈。

此外,我們會使用 hyperPad 的一些 UI 控制武器的旋轉角度和威力。由於會用到重力和物理物件,因此專案的全域視角會設為側視圖。

新增環境

如何建立附著於玩家的武器

開始之前,先到 hyperPad Shop 取得遊戲所需的所有素材。本教學會使用的素材套件是「Platform Starter Pack」和「Puzzle Pack」。

首先,新增一個簡單的平台、藍色外星人角色,以及一些可用作射擊目標的木箱。請確認角色和所有木箱都設為物理物件,並將牆壁和平台設為牆壁物件。

設定角色

我們會新增一些行為來控制遊戲中的角色。請參考下方圖示,新增相應的行為。角色的移動會使用搖桿和跳躍按鈕行為來控制。

如何建立附著於玩家的武器

一開始會播放閒置動畫;移動搖桿時會播放行走動畫;按下跳躍按鈕時則會播放跳躍動畫。請注意,我們會在跳躍按鈕行為觸發後立即將它關閉,這樣角色一次只能跳躍一次。接著,當角色停止下落時,我們會重新啟用該行為,並再次播放閒置動畫。

如何建立附著於玩家的武器

新增指定的行為後,場景中會自動加入兩個新的 UI。現在可以使用搖桿和跳躍按鈕來移動角色。

設定武器

在本教學中,武器會一直固定在角色背後。首先,新增一個用來呈現武器的物件。

我們會使用下載的「Puzzle Pack」套件中的綠色管子物件作為武器。將它新增至場景,並設定其變換屬性。請參考下方圖示,設定適當的縮放比例和錨點。它的排序值應低於角色的排序值,讓它顯示在角色後方。

如何建立附著於玩家的武器

設定好變換屬性後,將武器移到角色背後。建議使用格線,將它精確地對齊至所需位置。

如何建立附著於玩家的武器

雖然它是一根管子,但我們會用它來呈現發射砲彈的武器。

接著,新增行為,讓武器附著在角色身上。

如何建立附著於玩家的武器

計時器行為會建立一個在每次物理更新時執行的迴圈。每次物理更新的間隔正好是遊戲物理更新頻率 60 Hz 的 1/60 秒,相當於 0.016667 秒。每次更新時,我們會取得角色的位置,再根據角色的 x 和 y 值移動武器,移動時間設為零。

試著執行看看,就會發現大砲現在已牢牢附著在角色身上。

控制武器旋轉

接下來要新增控制武器旋轉的功能。為此,我們會新增另一個具備功能行為的搖桿。先前我們是透過新增「Joystick Controlled」行為來加入移動搖桿,這次則會手動新增。

如何建立附著於玩家的武器

請確認你位於與第一個搖桿相同的圖層,按下瓶子圖示,然後選取搖桿選項。

新增搖桿物件後,將它放在移動搖桿稍上方,再調整顏色,讓顏色符合它的用途。

如何建立附著於玩家的武器

接著,為搖桿新增行為。新建立的搖桿已自動加入搖桿類比行為,我們只需要再新增一個「Rotate to Angle」行為。按下該行為的「Change Manually」屬性,然後將搖桿類比角度值輸入為旋轉值。

如何建立附著於玩家的武器

試著操作看看,就會發現武器會隨著搖桿類比位置轉動。請注意,武器會以先前設定的錨點為中心旋轉。

製作砲彈

現在已經能控制玩家和武器,接下來要讓武器發射砲彈,並讓砲彈附帶爆炸粒子效果。

從「Puzzle Pack」套件中將「ball object」新增至場景,作為砲彈物件。

如何建立附著於玩家的武器

依照上方圖示調整它的屬性,並確認碰撞形狀為圓形。

砲彈碰撞時會放出爆炸粒子。若要建立這些粒子,先前往素材資料夾,按下「Create Effects」類別,再選取「Particles」選項。在此選單中,從上方選項中選取「Explosion」粒子。砲彈會使用這個預設爆炸粒子。按下儲存後,就能在素材資料夾中的「Particles Folder」看到新素材。

如何建立附著於玩家的武器

接著,為砲彈新增行為。我們會設定物件在與任何物件碰撞時被銷毀,然後執行「Start Particles」行為,並指定先前建立的爆炸粒子。砲彈也應忽略與角色及其武器的碰撞。

如何建立附著於玩家的武器

控制發射威力

最後要讓武器能發射砲彈。我們也會製作一個威力條,用來決定武器的發射威力,然後新增發射按鈕,以生成並發射砲彈。

先新增武器的發射威力條,方法是建立一個「Health bar」。操作方式與手動新增「武器旋轉搖桿」相同:按下場景編輯選單底部面板中的「瓶子圖示」。

如何建立附著於玩家的武器

我們將威力條設為高度大於寬度,並以能表達其用途的顏色上色。此外,也要讓威力條從底部向上填滿。

接著新增發射按鈕。在素材資料夾的「UI Folder」中找到按鈕素材物件,將它放在「跳躍按鈕」旁邊、威力條下方,並塗上容易辨識的顏色。

如何建立附著於玩家的武器

完成後,為發射按鈕新增行為。

使用者觸碰按鈕時,將威力條的百分比設為零。

如何建立附著於玩家的武器

按鈕按住期間,威力條的值會逐影格持續增加 1。我們會先取得目前的進度,加上 1,再將結果設為威力條的百分比。

如何建立附著於玩家的武器

放開發射按鈕時,我們會在大砲前端附近生成砲彈。生成物件行為中的「Object B Anchor」應設在中間稍偏上方。請確認已開啟回收切換開關,以節省記憶體空間。

接著,我們必須等到下一次物理更新,才能對新生成的砲彈施加力。

如何建立附著於玩家的武器

下一次物理更新後,就能對生成的物件施加方向力。

我們會使用大砲的旋轉角度來取得標準化方向。標準化 x 方向是以大砲旋轉角度為輸入值的餘弦數學函式;y 方向則是使用相同輸入值的正弦數學函式。

取得標準化方向後,還需要一個根據威力條百分比計算的力倍數。先取得威力條的百分比,再將它乘以 5。我們稍微提高了威力,讓力道符合大砲所需。

接著,將 x 和 y 方向的力以及力倍數輸入「Apply Force」行為,並將該行為套用至生成的物件。

如何建立附著於玩家的武器

試著執行看看,按下發射按鈕就能生成砲彈。

恭喜!你已在 hyperPad 製作出一款簡單的平台遊戲,並讓玩家能控制武器。開始遊玩,把那些木箱轟飛吧!