ぬここゐ

プログラミングとか文房具とか

【GDevelop】テキストを画面の真ん中に生成する方法

画面の真ん中にテキストを出したい

例えばこんなオブジェクトを作ります

このオブジェクトをイベントで生成したいとき、 座標として
このように入力すると

オブジェクトの始点は左上になっている
オブジェクトの始点はの都合上、
ズレが生じます。

ズレの分を考慮したいので、このようにします。
テキストのオブジェクトの半分を座標から引くことで、
真ん中に寄せるという考えです。
ですがこれもズレます。

オブジェクトは生成されるまでサイズを持たない


このようにすると、
考えとしてはオブジェクト1つ分動いた座標に生成されると思いますが、

左上ぴったりの位置に表示されます。

理由はオブジェクトが生成されないとサイズの値を持たないためです。

解決法

先に生成する。


一旦生成します。 これは画面外に生成するので、
シーンの中には出てきません。

位置を変更する

アクション>位置を選択

X座標に =(代入)を選択し
SceneWindowWidth()/2-NewText.Width()/2
Y座標に =(代入)を選択し
SceneWindowHeight()/2-NewText.Height()/2

と、入力するとシーンの真ん中にテキストを表示することが出来ます。

テキストオブジェクトをシーンの真ん中に表示した状態

画像などのオブジェクトだったらポイントでCenterを指定できるんですけどね。
とりあえず、表示出来たのでオッケーということにします。
お疲れ様でした。