【ゲームエンジン】Godot Engineat GAMEDEV【ゲームエンジン】Godot Engine - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト237:名前は開発中のものです。 19/03/26 21:39:24.57 OHwYs7zR.net var vel=Vector2() func _ready(): set_process(true) func _process(delta): vel = Vector2(speed,0) if Input.is_key_pressed(KEY_RIGHT): translate(vel * delta) どうしてvector2をグローバルで宣言しないと、processの中で使えないんでしょうか エラー見てもわからなかったです 関数じゃなくてクラスだからですか? 238:名前は開発中のものです。 19/03/28 00:41:10.66 aWrk/lV+.net Python, JavaScript は、関数自体がクロージャだから、関数の外側の変数を、関数の内側へ通す 一方、Ruby は、関数スコープがあって、関数内のブロックがクロージャと言う、2つスコープがある。 C にも2つのスコープがある。関数スコープ内に、ブロックスコープがある 2つのスコープがある場合は、関数スコープはクロージャじゃないから、外側の変数を通さない。 外側の変数を関数内で使いたい場合は、わざわざ引数で渡さないといけないので、 すごく強固・明瞭で、安全性が高い 知らないけど、Godot は、そう言うように、Python から改良されているのかも知れない 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch