Differences

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

Link to this comparison view

ja:gdevelop5:events:functions [2019/09/19 12:58]
mightycraft created
ja:gdevelop5:events:functions [2019/09/24 08:29] (current)
mightycraft
Line 1: Line 1:
-FIXME **This page is not fully translated, yet. Please help completing the translation.**\\ //(remove this paragraph once the translation is finished)// 
  
-#Functions+#関数
  
-An "​Events Function"​ or simply Function is a powerful feature of GDevelop[[gdevelop5:​interface|External events]][[gdevelop5:​events:​link|links]] and [[gdevelop5:​events:​group|groups]] are useful to organize the events of your game, and even reuse some, in more than one place in your game. For example, you could put common events, to manage the enemies in some external events, and include these events, using a link, in various scenes.+「イベント関数」または単に関数は、GDevelopの強力な機能です。 ​[[gdevelop5:​interface|外部イベント]]、 [[gdevelop5:​events:​link|イベントリンク]] と [[gdevelop5:​events:​group|グループ]] ゲームのイベントを整理したり、ゲームの複数の場所でイベントを再利用したりするのに役立ちます。たとえば、いくつかの外部イベントで敵を管理するために共通のイベントを配置し、リンクを使用してさまざまなシーンでこれらのイベントを含めることができます。
  
-Functions are going one step further: they allow you to declare ​**new conditions****new actions** and even **new expressions**, using events.+関数はさらに一歩進んでいます。イベントを使用して、**新しい条件****新しいアクション**、さらには**新しい式**を宣言できます。
  
-When you register a function, you can choose if it's a condition, an action or an expression. The Function contains events, like a scene or external events, that will be executed when the condition or the action is launched during the game.+関数を登録するときに、条件、アクション、または式のいずれかを選択できます。この関数には、ゲーム中に条件またはアクションが起動されたときに実行されるシーンや外部イベントなどのイベントが含まれます。
  
-In addition to events, functions also have parameters, just like usual conditions, actions and expressions. The parameters can be objects, number or text.+イベントに加えて、関数には通常の条件、アクション、式と同様にパラメーターもあります。パラメータは、オブジェクト、数値、またはテキストです。
  
-<note tip>See [[gdevelop5:​events:​functions:​replace-external-events|an example of replacing external events by functions]]. You can also **[[gdevelop5:​events:​functions:​extract-events|automatically extract events to a function]]**.</​note>​+<note tip>​[[gdevelop5:​events:​functions:​replace-external-events|an example of replacing external events by functions]]を御覧ください。また、 ​**[[gdevelop5:​events:​functions:​extract-events|automatically extract events to a function]]**も参考にしてください。</​note>​
  
-<note tip>See an example of functions being used in [[https://​www.youtube.com/​watch?​v=BQO9DDXdkjs|this video by gamefromscratch]].</​note>​+<note tip>関数の使用例をビデオで御覧ください。 ​[[https://​www.youtube.com/​watch?​v=BQO9DDXdkjs|this video by gamefromscratch]].</​note>​
  
-## Creating a new function+## 新しい関数の作成
  
-Functions are grouped into "​extensions"​. They are the same as [[gdevelop5:​extensions:​search|the extensions that you can install for your game]]. You can see the list of extensions that the game has, as well as add a new extension in the [[gdevelop5:​interface:​project-manager|Project Manager]]:+関数は「拡張機能」にグループ化されます。これらは ​[[gdevelop5:​extensions:​search|ゲームにインストールできる拡張機能]]と同じです。 ゲームの拡張機能のリストを見ることができますし、[[gdevelop5:​interface:​project-manager|プロジェクトマネージャ]]で確認できます。
  
 {{ :​gdevelop5:​events:​project-manager-functions-extensionsnew.png?​nolink |}} {{ :​gdevelop5:​events:​project-manager-functions-extensionsnew.png?​nolink |}}
  
-Click on the "+" button on the bottom to create a new extension. You can right click on it to rename it. It's a good idea to have functions related to the same thing in a single extension.+下部の「+」ボタンをクリックして、新しい拡張機能を作成します。名前を右クリックして名前を変更できます。単一の拡張機能で同じものに関連する関数を使用することをお勧めします。
  
-Click on the extension in the list to open its editor. By default, there are no functions in the extensions. Add one by clicking on "Add a new function",​ on the left:+リスト内の拡張機能をクリックして、エディターを開きます。デフォルトでは、拡張機能には機能がありません。左側の[新しい関数を追加]をクリックして追加します。
  
 {{ :​gdevelop5:​events:​add-new-function.png?​nolink |}} {{ :​gdevelop5:​events:​add-new-function.png?​nolink |}}
  
-A new function is added. You can rename it, to give it a name according to what you want to do inside. For example, if your function will be a condition that checks if the object passed as parameter is ready to fight, you can call it `IsReadyToFight` ​(only alphanumeric characters and underscores are allowed in names).+新しい機能が追加されました。名前を変更して、内部で何をしたいかに応じて名前を付けることができます。たとえば、パラメーターとして渡されたオブジェクトが戦う準備ができているかどうかをチェックする条件が`IsReadyToFight`関数である場合、それを呼び出すことができます(名前に使用できるのは英数字とアンダースコアのみです)
  
-Click on the function to edit it: you'll be able to change its configuration and its events.+関数をクリックして編集します。設定とイベントを変更できます。
  
-## Editing the configuration and the events of the function+## 関数の構成とイベントの編集
  
-When a function is selected, on the top, you can see the configuration of the function:+関数が選択されると、上部に、関数の構成が表示されます。
  
-The first parameter is the type of the function: "​Action",​ "​Condition",​ "​Expression"​ or "​String Expression"​. If you choose Action or Condition, you'll find the function in the list of actions and conditions, when editing your events in the game. If you choose Expression (or String Expression),​ you'll find it in the list of expressions when you edit a formula. +最初のパラメーターは、関数のタイプです:「アクション」、「条件」、「式」または「ストリング式」。[アクション]または[条件]を選択すると、ゲーム内のイベントを編集するときに、アクションと条件のリストに関数が表示されます。[式](または[文字列式])を選択すると、式を編集するときに式のリストに表示されます。 
-You can then configure the name that will be displayed in the list. +次に、一覧に表示される名前を構成できます。 
-Enter the description that will be given in the window, when choosing the parameters for the function. +関数のパラメーターを選択するときに、ウィンドウに表示される説明を入力します。 
-For Action or Condition, you can enter the sentence that will be displayed in the events sheet. In case your function takes parameters (see below to learn more about these), you can include them by writing ​PARAMx ​between underscores,​ replacing `x` by the parameter number (starting at 1):+アクションまたは条件の場合、イベントシートに表示される文を入力できます。関数がパラメーターを受け取る場合(これらの詳細については以下を参照)、アンダースコアの間にPARAMxを記述xし、パラメーター番号(1から始まる)で置き換えることでそれらを含めることができます。
  
 <​code>​ <​code>​
Line 44: Line 43:
 </​code>​ </​code>​
  
-This is an example for a function named "RotateObjects", which is an action, with the description "​Rotate the given objects",​ and with a single parameter, the objects to be rotated.+これは、「RotateObjects」という名前の関数の例です。この関数は、「指定されたオブジェクトの回転」という説明と、回転するオブジェクトを1つのパラメーターで指定したアクションです。
  
-### Parameters+### パラメータ
  
-Functions are becoming really useful and powerful when you use parameters. Under the configuration of the function, you can add parameters. These parameters will be available when you use the action, condition or expression in the events sheet. It's just like the usual action/condition/expressions you're used to!+パラメータを使用すると、関数は本当に便利で強力になります。関数の構成の下で、パラメーターを追加できます。これらのパラメーターは、イベントシートでアクション、条件、または式を使用するときに使用できます。それはあなたが慣れている通常のアクション/条件/式のようなものです!
  
-Add a parameter with the button "Add a parameter":​+「パラメーターの追加」ボタンでパラメーターを追加します。
  
 {{ :​gdevelop5:​events:​events-function-add-parameter.png?​nolink |}} {{ :​gdevelop5:​events:​events-function-add-parameter.png?​nolink |}}
  
-For each parameter, you can enter:+パラメーターごとに次のように入力できます。
  
-  * The name, that will be used to access the parameter in the *events of the function*. +  * **関数のイベント**内のパラメーターにアクセスするために使用される名前。 
-  * The type. The parameter can be objects, a number or a text. If you choose objects, you'll also be able to choose the type of object to receive. +  * タイプ。パラメータには、オブジェクト、数値、またはテキストを指定できます。オブジェクトを選択すると、受け取るオブジェクトのタイプも選択できます。 
-  * A description,​ that will be shown in the window when configuring the action/condition or expression.+  * 説明。アクション/条件または式を構成するときにウィンドウに表示されます。
  
-For example, we can add a parameter, that would return the objects to be rotated:+たとえば、回転するオブジェクトを返すパラメーターを追加できます。
  
 {{ :​gdevelop5:​events:​events-function-example-parameter.png?​nolink |}} {{ :​gdevelop5:​events:​events-function-example-parameter.png?​nolink |}}
  
-### Adding the events to the function and using the parameters+### 関数へイベントの追加とパラメーターの使用
  
-When your function is configured, you can add events to it. These events will be launched when the condition, action or expression is used in the rest of the game.+関数を構成したら、イベントを追加できます。これらのイベントは、条件、アクション、または式がゲームの部分で使用されるときに起動されます。
  
-You can use all the existing events, actions, conditions and expressions,​ but you are limited to the **objects that you entered as parameters**. This is to ensure that your function is only acting on them, and has no "side-effects"​ on the rest of the game - which would be a bad practice and make functions hard to reuse and to generate.+すべての既存のイベント、アクション、条件、および式を使用できますが、**パラメーターとして入力したオブジェクト**に制限されます。これは、関数がそれらにのみ作用し、ゲームの残りの部分に「副作用」がないことを保証するためです-これは悪い習慣であり、関数の再利用と生成を難しくします。
  
-Note that functions can be reused everywhere, and are not limited to a scene. You **won't have the list of variables of your scenes** in them. You can still manipulate them by using the usual actions and manually writing the variable you want to modify.+関数はどこでも再利用でき、シーンに限定されないことに注意してください。**シーンの変数のリストはそこにありません。** 通常のアクションを使用し、変更する変数を手動で書き込むことで、引き続きそれらを操作できます。
  
-* **Links** are not available in functions, because a function is autonomous and is in theory not even tied to a project.+関数は自律的であり、理論上はプロジェクトにも結び付けられていないため、**リンク**は関数では使用できません。
  
-Here is an example of a function to rotate some objects:+一部のオブジェクトを回転させる関数の例を次に示します。
  
 {{ :​gdevelop5:​events:​events-function-example-rotate-objects.png?​nolink |}} {{ :​gdevelop5:​events:​events-function-example-rotate-objects.png?​nolink |}}
  
-This is a really simple and not really useful example of a function (you could as well use the action to rotate objects directly without writing a function). But, when you add more complex logic inside, a function'​s strength can be seen. It's then super easy to reuse this logic from the rest of the game!+これは非常にシンプルで実用的ではない関数の例です(関数を記述せずにアクションを使用してオブジェクトを直接回転させることもできます)。ただし、より複雑なロジックを内部に追加すると、関数の強さがわかります。このロジックをゲームの他の部分から再利用するのは非常に簡単です!
  
-<​note>​If your function is a condition or an expression, ​[[gdevelop5:​events:​functions:​return|use the actions in "​Functions"​ category to set the expression/condition value]] (also called the "​return value"​). ​</​note>​+<​note>​関数が条件または式の場合、[[gdevelop5:​events:​functions:​return|「関数」カテゴリのアクションを使用して、式/条件値を設定します。]] (「戻り値」とも呼ばれます) ​</​note>​
  
-## Using the function in your game+## ゲーム中の関数の使用
  
-When you have configured and created the events for your function, you can use it in the rest of your game.+関数のイベントを構成および作成したら、ゲーム中で使用できます。
  
-Simply create a new action (or condition) and find in the list the name of your extension, then choose the function that you've created:+新しいアクション(または条件)を作成し、リストで拡張機能の名前を見つけて、作成した関数を選択します。
  
 {{ :​gdevelop5:​events:​events-functions-used-as-action.png?​nolink |}} {{ :​gdevelop5:​events:​events-functions-used-as-action.png?​nolink |}}
  
-That's it! The function is used like any other condition, action or expression in the [[gdevelop5:​interface:​events-editor|Events Editor]].+それですべてです!この関数は、[[ja/gdevelop5:​interface:​events-editor|イベントエディタ]]の他の条件、アクション、または式と同様に使用されます。 ​
  
 <note tip> <note tip>
-The **Object Groups** feature, while creating functions, helps grouping similar object parameters. This way you can apply an action/condition to a group of object parameters (parameters pointing at objects) at once.</​note>​+**オブジェクトグループ**は、関数を作成しながら、特色、類似したオブジェクトパラメータをグループ化するのに役立ちます。このようにして、アクション/条件をオブジェクトパラメータのグループ(オブジェクトを指すパラメータ)に一度に適用できます。</​note>​
  
-## Advanced usages+## 高度な使用法
  
-This page gave a basic overview of what functions are. They are one of the more powerful features of GDevelop, as you can extend the events by using them, enabling to create very readable and concise events sheets. By using them, you can reduce the amounts of events that you write for your game, avoid copy-pasting them and even reduce bugs by ensuring that functions are always used for common tasks on your objects.+このページでは、機能の概要を説明しました。これらはGDevelopのより強力な機能の1つです。イベントを使用してイベントを拡張できるため、非常に読みやすく簡潔なイベントシートを作成できます。それらを使用することにより、ゲーム用に記述するイベントの量を減らし、コピー&ペーストを避け、オブジェクトの一般的なタスクに関数が常に使用されるようにすることでバグを減らすことができます。
  
 +### 再帰関数
  
-### Recursive functions+関数は自分自身を呼び出すことができます!関数のイベントでは、ゲームの他の部分と同じアクション/​条件/​式を使用できます。これは「再帰的」関数と呼ばれます
  
-A function can call itself! In the events of a function, you can use the same action/condition/​expression as in the rest of the game. This is called a "​recursive"​ function.+<note important>​再帰的な関数を書くときは特に注意してください。条件を追加しない場合、関数はそれ自体を無限に呼び出し、ゲームをブロックする可能性があります。<​/note>
  
-<note important>​Be very careful when writing a recursive function. If you don't add conditions, the function could call itself infinitely, blocking your game.</note>+[[ja/gdevelop5:​events:​functions:​return|「関数」カテゴリのアクション を使用して、式/​条件の値を返すことができます]]. ​
  
-You can [[gdevelop5:​events:​functions:​return|use the actions in "​Functions"​ category to return expression/​condition values]]. ​+### 関数の共有
  
-### Sharing functions+関数は、プロジェクト間で共有できます(GDevelopで作成されるアクション/​条件など)。それを行う最も簡単な方法は、単にコピー/​ペーストすることです。ただし、便利な機能セットを作成した場合は、それらを [[gdevelop5:​extensions:​share|コミュニティと共有する]]ことを検討して下さい。
  
-Functions can be shared across projects (like actions/​conditions that are built in GDevelop). The simplest way to do it is just to copy/paste them. But if you've created a useful set of functions, you may consider [[gdevelop5:​extensions:​share|sharing them with the community]]. +<note tip>再利用可能で共有できるような、[[ja/gdevelop5:​events:​functions:​replace-external-events|外部イベントを関数で置き換える例]]を参照して下さい。  ​**[[gdevelop5:​events:​functions:​extract-events|自動的にイベントを関数に展開する]]**も参考にして下さい。</​note>​
- +
-<note tip>See [[gdevelop5:​events:​functions:​replace-external-events|an example of replacing external events by a function]], which is reusable and shareable. You can also **[[gdevelop5:​events:​functions:​extract-events|automatically extract events to a function]]**.</​note>​+