目次

007 スクリプトで地面を動かす

DefoldではスクリプトにLuaを採用しています。

スクリプトファイルの新規作成

Project Explorer のmainを右クリック → New → Script File からスクリプトファイルを作成します。

名前はground.script としました。

スクリプトを実装します。ここでは公式のチュートリアルをそのまま持ってきました。 <sxh cpp; title: ground.script> local pieces = {

"ground0",
"ground1",
"ground2",
"ground3",
"ground4",
"ground5",
"ground6" } 

function init(self)

  self.speed = 6

end

function update(self, dt)

for i, p in ipairs(pieces) do

local pos = go.get_position(p)

if pos.x <= -228 then
	pos.x = 1368 + (pos.x + 228)
end

pos.x = pos.x - self.speed
go.set_position(pos, p)

end </sxh>



スクリプトファイルを動作させる

main.collectionを開いて、新規GameObjectを作成します。名前はgroundController とします。

groundControllerを右クリック→AddComponent From File を選択し、 先ほど作成したground.scriptを選択します。

正しくコンポーネントが追加されていれば図の様になっています。

Ctrl+BのBuild & Run で実行すると地面が横にスクロールしていくのが確認できます。