Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ja:gdevelop5:tutorials:platform-game:5-add-coins-and-number-of-collected-coins [2019/09/21 09:34]
mightycraft [Delete coins when collected]
ja:gdevelop5:tutorials:platform-game:5-add-coins-and-number-of-collected-coins [2020/12/26 13:56] (current)
Line 27: Line 27:
 次に、コインを削除するアクションを追加できます。最初の条件で選択された「コイン」オブジェクトのみがアクションで使用されるため、プレーヤーと衝突していたコインのみが削除されます。 次に、コインを削除するアクションを追加できます。最初の条件で選択された「コイン」オブジェクトのみがアクションで使用されるため、プレーヤーと衝突していたコインのみが削除されます。
  
-「カテゴリの削除」アクションを追加し、削除するオブジェクト「全てのオブジェクトに共通のアクション」>「オブジェクト」として「コイン」を入力します。 +「全てのオブジェクトに共通のアクション」>「オブジェクト」から、「カテゴリの削除」アクション選択し、削除するオブジェクトとして「コイン」を入力します。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-28_at_23.41.46.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-28_at_23.41.46.png?nolink |}}
  
Line 36: Line 35:
 プレビューを起動して、プレイヤーがコインの上を通過するとコインが削除されることを確認できます! プレビューを起動して、プレイヤーがコインの上を通過するとコインが削除されることを確認できます!
  
-## Play a sound when collecting a coin+## コインをゲットした時に効果音を鳴らす
  
-To make the game feel more dynamic and rewarding, let's play a sound when a coin is collected.+ゲームを、よりダイナミックでやりがいのあるものにするために、コインをゲットしたときにサウンドを再生しましょう。
  
-It's easy: we already have a sound file called `coin.wav` in our game folder (if that's not the case, you can [[http://www.compilgames.net/dl/PlatformerTutorialResources.zip|download the resources here]] and extract them in your game folder).+簡単です。すでにcoin.wavゲームフォルダーにサウンドファイルがあります(そうでない場合は、[[http://www.compilgames.net/dl/PlatformerTutorialResources.zip|ここ]]からリソースをダウンロードして、ゲームフォルダーに展開します。)
  
-It is something we haven't done before: we can add multiple actions to execute to a single event. To play a sound, let's add another action to the event that we used to delete the coins. Click 'add an action' right below the "Delete object Coin" action and add the action called `Play a sound`, from the `Audio` category. This way, we won't only delete the coin but also be playing the sound. +これまでに行ったことのないことです。1つのイベントに実行する複数のアクションを追加できます。サウンドを再生するには、コインを削除するために使用したイベントに別のアクションを追加しましょう。[オブジェクト コインの削除]アクションのすぐ下にある[アクションの追加]をクリックし、オーディオカテゴリから、「サウンドを再生」というアクションを追加します。この方法では、コインを削除するだけでなく、サウンドも再生します。
- +
-There are a bunch of parameters available for playing a sound. The first and most important is the sound file to be played. Click on the field and then on "Choose a new audio file".+
  
 +サウンドを再生するために使用できるパラメーター類があります。最初で最も重要なのは、再生するサウンドファイルです。フィールドをクリックし、「新しいオーディオファイルを選択」をクリックします。
 {{ :gdevelop5:tutorials:platform-game:choose-new-audio-file_2x.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:choose-new-audio-file_2x.png?nolink |}}
  
-Choose the file `coin.wav` that you downloaded with the rest of the assets and that you put in the game folder: +ゲームフォルダーに入っている、他とファイルとともにダウンロードした、「coin.wav」ファイルを選択します。
 {{ :gdevelop5:tutorials:platform-game:choose-coin-wav_2x.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:choose-coin-wav_2x.png?nolink |}}
  
-Leave the other parameters as they are (i.e: don't repeat the sound, volume at `100`, and the default speed for the sound). +他のパラメーターはそのままにします(例えば、サウンドをリピートしたり、音量100をを変更したり、デフォルト速度を変更しないで下さい。)
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.50.22.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.50.22.png?nolink |}}
  
-That's all! Just launch the preview and the sound will play anytime you collect a coin 👍+これで全てです!プレビューを起動すると、コインをゲットするたびにサウンドが再生されます 👍
  
-## Increase a score using variables+## 変数を使用してスコアを計算
  
-We're going to use a variable to update and remember the score of the player.+変数を使用して、プレーヤーのスコアを更新および記憶します。
  
-Variables are containers that we can use to store and remember certain information such as numbers and strings (text). In GDevelop there are different types of variables:+変数は、数値や文字列(テキスト)などの特定の情報を保存および記憶するために使用できる保存場所です。GDevelopには、さまざまなタイプの変数があります。
  
-  * __**Object variables**__ are private variables, specific to each instance of an object. This means that each instance can store its very own values, without them being shared with the other instances. It can, for example, be useful if we want to change the life of each enemy.  +  * __**Object 変数**__ オブジェクトの各インスタンスに固有のプライベート変数です。これは、各インスタンスが他のインスタンスと共有されることなく、独自の値を保存できることを意味します。たとえば、各敵の残機数を変更する場合等に役立ちます。 
-  * __**Scene variables**__ (the most used ones) are variables attached to a scene. This means that their values are not shared with other scenes in our game. It is useful to store information only relevant to the currently played scene. For example, the life of the player or a score. +  * __**Scene 変数**__ (最も使用されるもの)は、シーンに付加された変数です。これは、それらの値がゲーム内の他のシーンと共有されないことを意味します。現在再生されているシーンにのみ関連する情報を保存すると便利です。たとえば、プレーヤーの残機数やスコア。 
-  * __**Global variables**__, as the name suggests, are global in the whole game. Values are shared with all scenes in the entire game. It is useful if we would like to store information that we want to share between all scenes such as the amount of bullet or amount of money the player has.+  * __**Global 変数**__ 値はゲーム全体のすべてのシーンで共有されます。弾丸の量やプレーヤーが持っているお金の量など、すべてのシーン間で共有したい情報を保存したい場合に便利です。
  
-The variable we're going to use is a Scene variable and will be called "Score"+今回使用しようとする変数はシーン変数であり、「スコア」と呼ばれます。
- +
-Let's add an action in the latest event we've made. Choose action `Variables > Value of a variable`. This action will be used to add 100 to the Score variable, so fill the parameter as shown here:+
  
 +作成した最新のイベントにアクションを追加しましょう。アクションを選択し、「変数」 > 「変数の値」を選択します。このアクションは、スコア変数に100を追加するために使用されるため、次のようにパラメーターを入力します。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.52.43.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.52.43.png?nolink |}}
  
-In GDevelop we don't need to declare variables before using them, we can use any variable without declaring it by just naming it in an action or a condition. In case we are using an action on a variable that is not declared, GDevelop will create it automatically for us, with the default value of '0' (or an empty text) after executing the action on the variable to save us from any trouble.  +GDevelopでは、変数を使用する前に変数を宣言する必要はありません。アクションまたは条件で名前を付けるだけで、変数を宣言せずに使用できます。宣言されていない変数でアクションを使用している場合、GDevelopは変数のアクションを実行した後、トラブルを防ぐためにデフォルト値「0」(または空のテキスト)で自動的に作成します。
- +
-But, to have a better organization of your game, it's a good practice to declare variables before using them. This way, it's easier to find what variables you are using in your game. You can also change their default value if you want it to be something other than 0.  +
-To declare a variable, click on the button "`...`" on the right of the variable name. This displays the list of variables:+
  
 +しかし、ゲームをより良く編成するには、変数を使用する前に変数を宣言することをお勧めします。このようにして、ゲームで使用している変数を簡単に見つけることができます。デフォルト値を0以外に変更することもできます。変数を宣言するに...は、変数名の右側にあるボタン「...」をクリックします。これにより、変数のリストが表示されます。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.54.46.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.54.46.png?nolink |}}
  
-The list is shown and is empty, as no variable was declared yet: +変数はまだ宣言されていないため、リストが表示されますが、空になっています。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.55.27.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.55.27.png?nolink |}}
  
-You can click on the `+` button to add a variable, and enter "Score" as its name: +「+」ボタンを クリックして変数を追加し、名前に「スコア」と入力します。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.56.23.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.56.23.png?nolink |}}
  
-Remember that this is entirely optional, only a good practice.+これは完全にオプションでですが、良い習慣であることと思って下さい。
  
-## Display a score using a text object+## テキストオブジェクトを使用してスコアを表示
  
-### Add text object+### テキストオブジェクトの追加
  
-For now, the variable Score can't be seen so we can't verify that the score is increased (we could, using the [[gdevelop5:interface:debugger|Debugger]], but the player can't see it). +現時点では、変数「スコア」は表示されないため、スコアが増加したことを確認できません([[ja/gdevelop5:interface:debugger|デバッガ]]を使用しても、プレーヤーは見ることはできません) 
- +
-We need to use a Text object to display the value of the Score variable. Let's add a new object. This time choose `Text` when asked about which type of object to create:+
  
 +変数「スコア」の値を表示するには、テキストオブジェクトを使用する必要があります。新しいオブジェクトを追加しましょう。作成するオブジェクトのタイプについて尋ねられたときに「テキスト」を選択します。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.58.27.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_17.58.27.png?nolink |}}
  
-Change then the object properties so that the text is black and bigger than the default size:+次に、オブジェクトのプロパティを変更して、テキストが黒でデフォルトのサイズより大きくなるようにします。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.09.28.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.09.28.png?nolink |}}
  
-You can then place the object on the scene:+その後、オブジェクトをシーンに配置できます。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.20.23.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.20.23.png?nolink |}}
  
-### Changing the text layer+### テキストレイヤーを変更する
  
-If you launch the game, you can see that the Score text is displayed with the rest of the objects and its position is not fixed on the screen. +ゲームを起動すると、スコアテキストが残りのオブジェクトとともに表示され、その位置が画面上で固定されていないことがわかります。この問題は、ベースレイヤーの上にレイヤーを使用することで簡単に解決できます。
-We can easily solve this problem by using a layer on top of the base layer. Open the layer editor using this button: +
  
 +このボタンを使用してレイヤーエディターを開きます。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.34.33.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.34.33.png?nolink |}}
  
-The list of layers is shown, with only the base layer for now: +レイヤーの一覧が表示されますが、現時点ではベースレイヤーのみです。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.35.00.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.35.00.png?nolink |}}
  
-Click on the `+` button to add a layer. Enter "UI" for its name (UI stand for User Interface).+「+」ボタンを クリックしてレイヤーを追加します。名前に「UI」と入力します(UIはユーザーインターフェイスの略です)。
  
-Finally, move the text object to this new layer by selecting the text instance on the scene and in the properties on the left, select the UI layer:+最後に、シーンのテキストインスタンスを選択してテキストオブジェクトをこの新しいレイヤーに移動し、左側のプロパティでUIレイヤーを選択します。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.40.44.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.40.44.png?nolink |}}
  
-Make sure that the object is displayed somewhere visible on the screen, for example, put it on the top-left. The black rectangle on the scene editor represents the size of the window:+オブジェクトが画面上のどこかに表示されていることを確認してください。たとえば、左上に配置します。シーンエディターの黒い四角形は、ウィンドウのサイズを表します。
  
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.42.46.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.42.46.png?nolink |}}
  
-### Display the score value+### スコアの値の表示
  
-Now that we have a text on our screen, it is time to make it display the value of the Score variable. +画面にテキストが表示されたので、Score変数の値を表示するようにします。新しいイベントを追加します。このイベントには条件はありません。つまり、ゲームのフレームが画面にレンダリングされるたびにアクションが実行されます(1秒間に約60回)。
-Add a new event. This event won't have any condition, meaning the action is going to be executed every single time a frame of the game is rendered on screen (about 60 times a second).+
  
-Add an action and choose the one in `Text Object` category called `Modify the text`.+アクションを追加し、テキスト変更のカテゴリから、テキストオブジェクト選びます。
  
-For the first parameter, choose the `Score` object, as it is this object that we want to update. +最初のパラメーターについては、スコアを更新したいオブジェクトを選択します。 
-For the second parameter, choose `= (set to)` operator (we want to set the text to a new value). +2番目のパラメーターには、= (set to)演算子を選択します(テキストを新しい値に設定します)。 
-Finally, the last parameter represents the new content of the text. It's a string expression that will be evaluated during the game by GDevelop when the action is run.+最後に、最後のパラメーターはテキストの新しいコンテンツを表します。これは、アクションの実行時にGDevelopによってゲーム中に評価される文字列式です。
  
-We can specify a text by writing it between quotes (like this: `"Hello World"`). But we can also use something called expressions. An expression is a function that is returning a certain value. In this case, we need the value of the Score variable and we want to use that value to update the content of the Text object. +テキストを引用符で囲んで指定することができます(このように:"Hello World")。ただし、式と呼ばれるものも使用できます。式は、特定の値を返す関数です。この場合、スコア変数の値が必要であり、その値を使用してテキストオブジェクトのコンテンツを更新する必要があります。式はより高度なトピックであるため、ここでは詳しく説明しません。
-Expressions are a more advanced topic so we won't go deep into it for now.+
  
-What you need to know for now is that in order to get the value of a scene variable, we need to use the expression `Variable(variableName)`. And as it is a number variable but we need the value as a text, we need to convert the value returned from this expression to a string. We can do that by using another expression called `ToString(valueToConvert)`+ここで知っておく必要があるのは、シーン変数の値を取得するために、変数(変数名)の式を使用する必要があるということです。また、スコアは数値変数ですが、テキストとしての値が必要なので、`ToString(変換式)`というように、式から返された値を文字列に変換する必要があります。これを行うには、ToString(Variable(スコア))という別の式を使用します。
-So the actual expression needs to look like this `ToString(Variable(Score))`.+
  
-Finally, we can add this expression after a static text using the `+` operator: `"Score : " + ToString(Variable(Score))` (note the double quotes surrounding the text).+最後に、「+」演算子を使用して静的テキストの後にこの式を追加できます(テキストを`"Score : " + ToString(Variable(スコア))`と、二重引用符で囲むことに注意してください)。
  
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.58.12.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.58.12.png?nolink |}}
  
-Lots of other functions and expressions are available in GDevelop. When combined, you create powerful actions that do advanced work. You can find more expressions in the expression editor by clicking on the blue icon next to the value fields:+GDevelopでは、他の多くの関数と式を利用できます。組み合わせると、高度な作業を行う強力なアクションを作成できます。値フィールドの横にある青いアイコンをクリックすると、式エディターでさらに式を見つけることができます。
  
 {{ :gdevelop5:tutorials:platform-game:expression-icon.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:expression-icon.png?nolink |}}
  
-Here is the final event: +最後のイベントは次のとおりです。
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.59.31.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_18.59.31.png?nolink |}}
  
-You can preview the game, see that the score is shown and updated when you collect a coin!+ゲームをプレビューしましょう。コインをゲットすると、スコアが表示され更新されることを確認できます!
  
 {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_19.00.24.png?nolink |}} {{ :gdevelop5:tutorials:platform-game:screen_shot_2017-09-30_at_19.00.24.png?nolink |}}
  
-## Bonus: making sure that collecting two coins at the same time works+##ボーナス:2つのコインを同時にゲットすることを確認する
  
-You might have noticed that if you collect two coins at the exact same time (for example, if two coins overlap), the score is only increased once. For example, if each coin is worth 100 points and you collect coins, the score will only go up to 100 instead of 200. The fix for this is easy and is something we haven't looked at yet: we're going to use an event called For Each Object. What we will do is tell the engine that for every single coin that was collected, add 100 to the score. +2つのコインをまったく同時に収集した場合(たとえば、2つのコインが重なった場合)、スコアは1回しか増加しないことに気づいたかもしれません。たとえば、各コインが100ポイントの価値があり、2つのコインを集めると、スコアは200ではなく100になります。これに対する修正は簡単ですが、まだ対応していません。 For Eachオブジェクトというイベントを使用します。行うことは、ゲットされたすべてのコインについて、スコアに100を加算することをエンジンに伝えることです。
- +
-To start, click the + button in the toolbar of the Events Editor:+
  
 +開始するには、イベントエディターのツールバーの「+」ボタンをクリックします。
 {{ :gdevelop5:tutorials:platform-game:gdevelop_5_2018-05-30_11-30-39.png?200 |}} {{ :gdevelop5:tutorials:platform-game:gdevelop_5_2018-05-30_11-30-39.png?200 |}}
  
-Select "for each object"+"for eachオブジェクト"を選択
 {{ :gdevelop5:tutorials:platform-game:2018-05-30_11-33-09.png?400 |}} {{ :gdevelop5:tutorials:platform-game:2018-05-30_11-33-09.png?400 |}}
  
-This will add an event at the bottom of the event page. Drag it up and make it a sub-event of the player collision with the coin:  +これにより、イベントページの下部にイベントが追加されます。それを上にドラッグして、コインとプレイヤーの衝突のサブイベントにします。
 {{ :gdevelop5:tutorials:platform-game:click-to-choose-4.png?600 |}} {{ :gdevelop5:tutorials:platform-game:click-to-choose-4.png?600 |}}
  
-Click to choose an object, and choose the Coin object. +クリックしてオブジェクトを選択し、コインオブジェクトを選択します。
 {{ :gdevelop5:tutorials:platform-game:click-to-choose2.png?600 |}} {{ :gdevelop5:tutorials:platform-game:click-to-choose2.png?600 |}}
  
-Now that you've added the object to the sub-event, let's move the actions down to the sub-event (so that the actions will be repeated for each coin that is picked by conditions).  +オブジェクトをサブイベントに追加したので、アクションをサブイベントに移動します(条件によって選択されたコインごとにアクションが繰り返されます)。
- +
-Hover over the first action, right-click and cut it, then hover over the action in the sub-event, right-click, and paste. Do this for the other two actions. You can also drag'n'drop actions, which is faster than cut-pasting them.+
  
 +最初のアクションにカーソルを合わせて右クリックして切り取り、サブイベントのアクションにカーソルを合わせて右クリックして貼り付けます。他の2つのアクションに対してこれを行います。アクションをドラッグアンドドロップすることもできます。これは、カットアンドペーストよりも高速です。
 {{ :gdevelop5:tutorials:platform-game:move-to-sub1.png?600 |}} {{ :gdevelop5:tutorials:platform-game:move-to-sub1.png?600 |}}
  
-This is what the final event should look like:  +最終的なイベントは次のようになります。
 {{ :gdevelop5:tutorials:platform-game:move-to-sub2.png?600 |}} {{ :gdevelop5:tutorials:platform-game:move-to-sub2.png?600 |}}
  
-Now run the game, and you will see that if you gather two coins at the same time, the score will be updated properly if you run on two coins at the exact same time.+ゲームを実行すると、2枚のコインを同時にゲットした場合、スコアが適切に更新されることがわかります。
  
-## Next step: add enemies+## 次のステップ:敵の追加
  
-Every platform game comes with enemies that you have to avoid or kill by jumping on them! Let's add some and see how we can make them move.+すべてのプラットフォーム型ゲームには、敵にジャンプして回避または殺さなければならない敵が存在しています! 
 +いくつか追加して、それらを動かす方法を見てみましょう
  
-➡️ Read **[[gdevelop5:tutorials:platform-game:6-add-enemies]]**! +➡️  **[[ja/gdevelop5:tutorials:platform-game:6-add-enemies||次のチュートリアルはこちら!]]**!