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:objects [2019/09/19 19:16]
mightycraft
ja:gdevelop5:objects [2021/02/26 06:27] (current)
pandako
Line 1: Line 1:
 # オブジェクト # オブジェクト
  
-GDevelopでは、ゲームはシーンに表示されるオブジェクトが基本になっています。画面上に配置するものをオブジェクトと理解すばいいでしょう。 オブジェクトはアニメーションしたり、動いたり、様々な方法操作できます。さまざま種類オブジェクトが利用可能で、独自の機能を持っています。+GDevelop では、スクリーンに表示されるものは何であ、_オブジェクト_です。これには(例なので、に限りませんが)プレイヤーキャラクター、敵、背景パーツが含まれます。
  
-* [[ja/gdevelop5:objects:base_object|全種類のオブジェクトの詳細]] +用途に応じ、いろいろな種類のオブジェクトが用意されています。たとえば[[ja/gdevelop5:objects:sprite|スプライト]]オブジェクトはグラフをアニメションさせ、[[ja/gdevelop5:objects:text|テキスト]]オブジェクトテキストを表示します。
-[[gdevelop5:objects:sprite|スプライト オブジェクト]] +
-* [[gdevelop5:objects:tiled_sprite|タイルスプライト オブジェクト]] +
-* [[gdevelop5:objects:particles_emitter|パーティクルエミッタ]] +
-[[gdevelop5:objects:text|テキスト オブジェクト]] +
-* [[gdevelop5:objects:panel_sprite|パネルスプライト ("9パッチ"オブジェクト]] +
-* [[gdevelop5:objects:text_entry|テキスト入力 オブジェクト]] +
-* [[gdevelop5:objects:shape_painter|シェイプペインター オブジェクト]] +
-* [[gdevelop5:objects:video|ビデオ オブジェクト]] (開発中)+
  
-AndroidもiOSでも広告を表示できるAdMobなど、オブジェクトしで機能する能もあります。AdMob詳細については [[gdevelop5:all-features:admob|こちら]]を参照してさい。   +[[ja/gdevelop5:behaviors|ビヘイビア]]オブジェクトに機能を追加したり、[[ja/gdevelop5:events|イベント]]を作成してオブジェクトの属性(位置、サイズなど)を変更きます。 
-他の詳細については [[gdevelop5:all-features|こちら]]を参照してさい。+ 
 +## オブジェクトのリスト 
 + 
 +以下はオブジェクトのリストです。それぞれが固有の機能と目的を持っています。 
 + 
 +- [[ja/gdevelop5:objects:sprite|スプライト]] 
 +- [[ja/gdevelop5:objects:tiled_sprite|タイルスプライト]] 
 +- [[ja/gdevelop5:objects:text|テキスト]] 
 +- [[ja/gdevelop5:objects:particles_emitter|パーティクルエミッター]] 
 +- [[ja/gdevelop5:objects:panel_sprite|パネルスプライト(9パッチ)]] 
 +- [[ja/gdevelop5:objects:shape_painter|シェイプペインター]] 
 +- [[ja/gdevelop5:objects:text_entry|テキスト入力]] 
 +- [[ja/gdevelop5:objects:bbtext|BBテキスト]] 
 +- [[gdevelop5:all-features:lighting:reference#lights|ライト]] 
 +- [[ja/gdevelop5:objects:video|ビデオ]] 
 + 
 +リンク先のページで、それぞれのオブジェクトについてくわしく説明しています。 
 + 
 +オブジェクトによっては_実験的_なのもあります。それらはまだ開発途上であり、非実験的なオブジェクトと比べて頻繁に更新されます。 
 + 
 +- [[ja/gdevelop5:objects:tilemap|タイルマップ]] 
 +- [[gdevelop5:objects:bitmaptext|Bitmap Text]] 
 +- [[gdevelop5:objects:skeleton|スケルトン]] 
 + 
 +## オブジェクト作成する 
 + 
 +1. [[ja/gdevelop5:interface:scene-editor|シーンエディター]]を開きます。これは新しいプロジェクトを作成した後の既定のビューです。 
 +2. **オブジェクト**パネルで**新しいオブジェクトを追加する**を選択します。 
 +3. **新しいオブジェクトを追加する**ダイアログで、オブジェクトの種類を選択します。 
 +4. オブジェクトの設定を調整します。利用できる設定は、オブジェクトの種類によって異なります。 
 +5. **適用**を選択します。 
 + 
 +{{ :gdevelop5:objects:base_object:pasted:20200406-092728.png?nolink |}} 
 +## オブジェクトに名前をつける 
 + 
 +オブジェクトには作成時に既定の名前がついています。この名前はオブジェクトエディターか、オブジェクトリストのオブジェクト上で右クリックすると表示されるコンテキストメニューから変更できます。 
 + 
 +オブジェクト名に使え文字には制約があるので注意してください。使えるのは英数字のみで、スペースは使えません。単語を区切るためにアンダースコアも使えます(もっともゲーム開発の世界では、単語の先頭を大文字にすることで区切りを示すのが一般的です)。たとえば `EnemyBullet` のような感じです)。 
 +これは[[ja/gdevelop5:all-features:expressions|式]]の中でオブジェクト名を確実に識別するための制約です。(訳注:オブジェクト名に Unicode を使えるようにする機能要望が [[https://trello.com/b/qf0lM7k8/gdevelop-roadmap|Trello]] に上がっているため、投票次第では将来この制約が緩和される可能性があります) 
 + 
 +良い名前の例として、`Player`、`RedEnemy`、`Red_Enemy`、`Car1`、`FinalBoss`、`Final_Boss`、`Wall` などを挙げられます。その機能を表す良い名前をつけるとイベントをパッと見ただけでオブジェクトをすばやく認識できるでょう。 
 + 
 +## シーンにオブジェクトのインスタンスを追加する 
 + 
 +オブジェクトを作成しても、GDevelop はそれをすぐシーンに追加したりはしません。それを**オブジェクト**パネルからシーンに追加する必要があります。シーンにはオブジェクトのコピーを好きなだけ追加きます。 
 + 
 +{{ :gdevelop5:objects:coin-selected.png?nolink&200 |}} 
 + 
 +シーンに配置したオブジェクトの各コピーは、オブジェクトの_インスタンス_と呼ばれます。あるオブジェクトのインスタンスはすべて、元のオブジェクトが持つ機能を共有していますが、それを個別にカスタマイズすることが可です。たとえばインスタンスはどれ、他と違う場所に表示できます。 
 + 
 +## オブジェクトのインスタンスを変更する 
 + 
 +一つ以上のインスタンスを選択すると、画面左手に**プロパティ**パネルが出現します。このパネルは選択中のインスタンスに関する情報を表示します。 
 + 
 +{{ :gdevelop5:objects:object-propeties-button.png?nolink&200 |}}  
 + 
 +カスタマイズ可能なプロパティを以下に示します。 
 + 
 +### 位置 
 + 
 +すべてのオブジェクトは座標を持ちます。(訳注:[テキスト入力]など画面に表示されないオブジェクトは例外)これらの座標は[デカルト平面](https://en.wikipedia.org/wiki/Cartesian_coordinate_system)上の水平位置(X 軸)と垂直位置(Y 軸)に対応しています。X 座標は左に行くと減少し、右に行くと増加します。Y 座標は下に行くと増加し、上に行くと減少します。 
 + 
 +{{ :gdevelop5:tutorials:basic-game-making-concepts:pasted:20201015-145909.png |}} 
 + 
 +### 角度 
 + 
 +**角度**の設定は、オブジェクトの回転を度単位で定義します。下図は GDevelop が回転角度をどのように理解するかを示しています。 
 + 
 +{{ :gdevelop5:objects:gdevelop_co.png?nolink&400 |}} 
 + 
 +<note important>サインやコサインのような三角関数を使用する場合は、角度をラジアンで指定します(1 ラジアン=180 / PI 度、1 度=PI / 180 ラジアン。PI は円周率を表し、値は約 3.14159)。イベントで `ToRad` と `ToDeg` 式を使うと、度とラジアンを相互に単位変換できます。</note> 
 + 
 +### Z オーダー 
 + 
 +オブジェクトが同じレイヤー上で重なり合う場合は、どのオブジェクトが前面に表示され、どのオブジェクトが背後に表示されるかが、**Z オーダー**によって決まります。たとえばるオブジェクトの **Z オーダー**が `2` であれば、**Z オーダー**が `1` のオブジェクトよも手前に表示されます。 
 + 
 +下図では、左手茂みの Z オーダーは `2`、コインの Z オーダーは `1`、右手の茂みの Z オーダーは `0` なっています。 
 + 
 +{{ :gdevelop5:objects:coin-bush-zorder.png?nolink&400 |}} 
 + 
 +**Z オーダー**の値は、負の数値と 0 を含む任意の整数になります。 
 + 
 +### レイヤー 
 + 
 +すべてのオブジェクトはレイヤー上に存在します。そしてレイヤー単位で下から上(奥から手前)に向かって順番に描画されていきます。これはまり、一番上のレイヤーにあるオブジェクトは常に下のレイヤーにあるオブジェクトよりも手前に表示されるとうことです(たとえ下のレイヤーにあるオブジェクトの **Z オーダー**の方が大きかったとしも)。 
 + 
 +{{ :gdevelop5:objects:base_object:pasted:20200406-093010.png?nolink |}} 
 + 
 +一般的に背景オブジェクトと、(プレイヤーキャラクターのような)操作可能なオブジェクトと、UI オブジェクトはそれぞれ別のレイヤーに分けるのがふつうですが、特に制約はありません。 
 + 
 +### エディターで位置と角度を固定する 
 + 
 +シーンにたくさんのオブジェクトが配置されているせいで、特定のインスタンスを選択するのが難しいことがあります。**エディターで位置と角度を固定する**オプションにチェックを入れると、そのインスタンスはエディター上で選択できなくなります。これは_本当に選択したい方_のインスタンスの選択を易しくしてくれるでしょう。(訳注:クリックして選択できないだけで、ドラッグによる範囲選択やインスタンス一覧からの選択は可能) 
 + 
 +{{ :gdevelop5:objects:base_object:pasted:20200406-093052.png?nolink |}} 
 + 
 +### インスタンス変数 
 + 
 +インスタンス変数は、あるオブジェクトのインスタンスに固有の[[ja/gdevelop5:all-features:variables|変数]]です。**インスタンス変数**テーブル上で、特定のインスタンスに関連付けた変数を定義し、値を設定できます。 
 + 
 +{{ :gdevelop5:objects:base_object:pasted:20200406-092023.png?nolink |}} 
 + 
 +くわしくは[[gdevelop5:all-features:variables:object-variables|オブジェクト変数]]を参照してください。 
 + 
 +### カスタムサイズ 
 + 
 +このオプションをチェックすると、インスタンスの幅と高さを変更できます。インスタンスの幅と高さは元のオブジェクトと別個のもので、変更がに影響することはありません。 
 + 
 +{{ :gdevelop5:objects:base_object:pasted:20200406-093137.png?nolink |}} 
 + 
 +### インスタンスタイマー 
 + 
 +シーンに配置されたオブジェクトインスタンスは、イベントからアクセスできる固有のタイマーを持ちます。タイマーについての詳細[[gdevelop5:all-features:timers|このページを参照]]してください。 
 + 
 +### 可視性 
 + 
 +オブジェクトのインスタンスは、デフォルトで可視属性がオンになっています。これはつまり、画面に表示されるということです。イベントを使うと、ゲームの途中で任意のインスタンスを**隠す**ことができます。非表示のインスタンスは、もはや画面に表示されませんが、シーンの中にはふつうに存在しています(衝突に反応したり、他のイベントもすべて機能します)。 
 + 
 +<note tip>スプライトやテキストのようなオブジェクトは、他に**不透明度**という属性も持ます。不透明度は 0 から 255 までの値を取り、オブジェクトの透明性を定義します(0 で完全に透明、既定値の 255 で完全に不透明)。これは可視性とはまた別に変更できます。</note> 
 + 
 +## オブジェクトをグループ化する 
 + 
 +複数のオブジェクトを_グループ_にまとめることで、グループ内のすべてのオブジェクトを一括して管理できます。 
 + 
 +これを使うと、イベントをオブジェクトの数だけ繰り返す必要がなくなり、たくさんのオブジェクトを一回のイベントで処理できます。またゲームのパフォーマンスが向上し、保守性が高まり、イベントの可読性も上がります。 
 + 
 +オブジェクトは次の手順でグループ化できます。 
 + 
 +1. ツールバーの**グループ**アイコンを選択します。 
 +2. **クリックしてグループを追加**を選択します。 
 +3. グループを選択します。 
 +4. **グループの編集**ダイアログで、グループに追加するオブジェクトを選択します。 
 +5. **適用**を選択します。 
 + 
 +{{ :gdevelop5:objects:base_object:pasted:20200406-093739.png?nolink |}} 
 + 
 +<note>グループ名はデフォルトで「Group」になります。名前を変更するには、グループを右クリックして**名前の変更**を選択してください。グループが何を含んでいるのか説明するような名前をつけることを推奨します。</note> 
 + 
 +## イベントエディターを使う 
 + 
 +ゲームの最中であっても、イベントを使ってオブジェクトのインスタンスまたは複数のインスタンスのプロパティを変更したり操作できます。GDevelop でゲーム制作していると、できるのです。ゲームのプレイ中にリアルタイムでオブジェクトを操作したり、そういうことが。イベントとイベントエディターについて深く掘り下げるのは、このページの取り扱い範囲を超えるため、くわしくは[[ja/gdevelop5:tutorials:basic-game-making-concepts|ゲーム作りの基本コンセプト]]を参照してください。 
 + 
 +* すべてのオブジェクトは**同じ共通の機能**(位置や角度など、このページに書かれていた機能すべて)を共有し、すべてのオブジェクトを使用できるたくさんの条件とアクションがあります。 
 +* オブジェクトはまた特定の機能も提供します。たとえば[[ja/gdevelop5:objects:sprite|スプライトオブジェクト]]にはアニメーション機能があり、アクションを使うと再生中のアニメーションを変更できます。 特定のオブジェクトに関する詳細は、このページのリンクからたどってください。