ユーザ用ツール

サイト用ツール

wiki:defold2:tips:003

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
最新リビジョン 両方とも次のリビジョン
wiki:defold2:tips:003 [2017/10/23 14:39]
step
wiki:defold2:tips:003 [2017/11/11 13:31]
step
ライン 1: ライン 1:
-====== 公式チュートリアル War battles で学習する ======+====== ​003 公式チュートリアル War battles で学習する ======
  
 ===== 概要 ===== ===== 概要 =====
ライン 435: ライン 435:
 ===== UIの実装 ===== ===== UIの実装 =====
 スコアの表示や、クリア用のUIを作ります。 スコアの表示や、クリア用のUIを作ります。
-  - Assetsを右クリック -> New -> Font からフォントを追加。名前は[text.font]とします。 +  - Assets/​mainフォルダを右クリック -> New -> Font からフォントを追加。名前は[text.font]とします。 
-  - +  - text.font を開いて[04font.ttf]を選択します。 
 +  - Assets/​mainフォルダを右クリック -> New -> Guiを選択。名前は[ui.Gui]とします。 
 +  - ui.Guiを開いてOutLineからFonts を選択し右クリック -> Add ー> text.font を選択します。 
 +  - Nodesを選択し右クリック -> Add -> Text を追加。名前は[score]とします。テキスト内容は“SCORE:​ 0”を設定しておきます。 
 +  - Textを画面の左上に配置しておきます。
  
-執筆中...+{{:​wiki:​defold2:​tips:​2017-10-24_7.57.59.png|}} 
 +\\ 
 +\\ 
 +  - Assets/​mainフォルダを右クリック -> New -> Gui Scriptを追加。名前は[ui.gui_script] 
 +  - ui.gui ファイルを開いて、Outlineの"​Guiを選択した状態で表示されるプロパティのScriptに先程作成した[ui.gui_script]を設定します。 
 +  - main.collection.を開いて、Outlineから右クリック -> Add Game Object ー> ゲームオブジェクトの名前は"​gui"​とします。 
 +  - "​gui"​ゲームオブジェクトを右クリック -> Add Component File から"​ui.gui"​を選択します。
  
 +{{:​wiki:​defold2:​tips:​2017-10-29_21.26.11.png|}}
 +
 +画面にスコアが表示されました。次はスコアを加算していくためのスクリプトを書いていきます。
 +\\
 +\\
 +
 +
 +===== スコアの更新 =====
 +  - ui.gui_scriptを開きます。
 +
 +<sxh javascript; title: ui.gui_script>​
 +function init(self)
 +    -- score の変数を定義し0で初期化します。
 +    self.score = 0
 +end
 +
 +function on_message(self,​ message_id, message, sender)
 +
 +    -- "​add_score"​メッセージが返された時に
 +    if message_id == hash("​add_score"​) then 
 +        -- scoreを加算する。
 +        self.score = self.score + message.score ​
 +        -- score ノードを取得して、テキストを更新します。
 +        local scorenode = gui.get_node("​score"​) ​
 +        gui.set_text(scorenode,​ "​SCORE:​ " .. self.score) ​
 +    end
 +end
 +</​sxh>​
 +
 +  - add_score メッセージを発火するためのスクリプトをrocket.gui_scriptに書きます。
 +<sxh javascript; title: rocket.script>​
 +function on_message(self,​ message_id, message, sender)
 +    if message_id == hash("​animation_done"​) then
 +        go.delete()
 +    -- Add
 +    elseif message_id == hash("​collision_response"​) then
 +        explode(self)
 +        go.delete(message.other_id)
 +        -- スコアを100点追加。
 +        msg.post("/​gui#​ui",​ "​add_score",​ {score = 100})        ​
 +    end
 +end
 +</​sxh>​
 +これでロケットで戦車を倒すとスコアが100点加算される様になります。
  
  
 +===== 終わり =====
 +  - 公式チュートリアルはここで終了しています。
 +  - なんどもトライ&エラーを繰り返してコツを掴むことが大切です。
Permalink wiki/defold2/tips/003.txt · 最終更新: 2018/04/04 22:56 by step

oeffentlich