1-1 スクリプトの作成
プログラムを記述することをコーディングと言います。人間の言葉には日本語、英語、中国語など、様々な言語がありますが、プログラミング言語も多種多様なものがあります。ロブロックスで使用するプログラミング言語は「Lua(ルア)」というものになります。残念ながら、C言語やPythonなどのようにあまりポピュラーではないので書籍が少ないのが難点です。ただし、他のプログラミング言語の経験がある方はスムーズに習得できると思います。また、初めてプログラミング言語を学ぼうとしている方でも、Luaはそれほど癖の強い言語ではないので比較的習得しやすい方だと思います。
プログラムを入力する
スクリプトの作成- エクスプローラーでServerScriptServiceにカーソルを合わせると、 [ + ] ボタンが表示されます。
- +ボタンをクリックし、Script(スクリプト)を選択します。これによりスクリプト エディタが開きます。
- スクリプトを右クリックし、 [名前の変更] を選択します。「PracticeScript」と入力します。スクリプトに名前を付けることは、そのプログラムが何をするものなのかを覚えておくためにとても重要なことです。
新しくスクリプトを追加すると、1行目に必ずprint文が現れます。printは、文字を画面(正確には出力ウィンドウ)に表示するものです。どのプログラミング言語でも、最初に登場するのがこのprint文です。printというのは関数の1つで誰でも最初に学びます。関数とは機能のことです。つまりprintという関数は、画面に表示する機能ということになります。
print("Hello world!") Hello world! テスト出力- 「VIEW/表示」メニュー タブを選択します。
- 「Output/出力」をクリックします。ウィンドウは、Roblox Studioの下部に表示されると思います。
- プログラムををテストするには、Playを押します。新しい文字列が [出力] ウィンドウに表示されます。
- プログラムをテストしたので、プレイを停止します。プログラムは、PracticeScriptというところに入れましたので、このタブをクリックすることで編集することができます。文字列を変更したり、変数名を変更したりして、どうなるかをテストしてみましょう。
データ型の識別
プログラミング言語は、さまざまな種類の値をデータ型に分類します。たとえば、その 1 つは数値です。数値データ型は数値のみで構成されるため一目瞭然です。もう 1 つのデータ型は文字列です。文字列には、数字、文字、記号を含めることができます。
文字列変数
「Hello World!」というメッセージが表示されましたが、これは文字です。どう見ても数字ではありません。プログラムをよく見ると、文字列の前後にダブルコーテーション(引用符)が付いているのが確認できると思います。文字列を表す場合、「ダブルコーテーション(引用符)で囲む」ということを覚えておきましょう。
文字列の例- 「あなたはゲームに参加しました!」
- 「残り50名」
- 「10」 (全角の数字は文字扱いになる)
- 10(ん?これは文字?・・・文字としても扱えます)
変数というのは入れ物です。様々なものが入る入れ物と考えるのが分かりやすいと思います。変数は、local(ローカル)というキーワードから始めます。その後ろに名前を入れます。この名前を変数名と言います。変数名は、入れるものが何であるのかがわかるような名称にするのがベストです。例えば、自分の名前を入れる変数を作る場合、
となります。mynameでもmy_nameでも構いませんが、変数名で使用できる文字に制限があり、第1文字目は、英字か「_(アンダースコア)」でないとダメです。それ以降は数字も使用できます。英字の大文字小文字の区別があり、「_(アンダースコア)」以外の記号は使用できません。またアルファベットであっても全角文字は使用できませんので注意しましょう。さらに学習を重なて行くと使用できない単語があるということも分かってきます。それらを予約語と言いますが、現時点では「そういうのがあるんだ」程度に覚えていれば問題ありません。
Lua では「型付け」がありません。他の言語には「型付け」があるものが多く、文字列型変数、数字型変数などと変数に「型」があります。「型付け」があると、型と変数名を指定することになりますが、Lhaはそれがないので、「local 変数名」の記述で済むため非常に簡単ですね。つまり先ほど「10(ん?これは文字?)」と書きましたが、これは数字になりますが、数字でも何も考えず、そのまま変数に入れることができるのです。
- スクリプトで「print(“Hello world!”)」は消去します。localとし、変数名は「myAnimal」とします。
- 変数名の後に「=」と入力します。
- そのまま続けて、お気に入りの動物を説明する文章を入力します。すべての単語と文字が、ダブルコーテーション(引用符)で囲まれていることを確認してください。
- 新しい行にprint()と入力します。関数を使うときは、必ず関数名の後ろに()が続きます。
- 何かを表示するには、括弧内に記述する必要があります。変数を出力するには、 (myAnimal)のようにカッコ内に入れます。
文字列を結合する
print()を使用すると、出力ウィンドウに任意の文字列が表示できます。変数内に保存されている複数の文字列や、関数内で直接入力された複数の文字列を出力することもできます。連結とは文字列を結合することです。変数に割り当てられた文字列と 2 番目の文字列を連結するには、2 つのドット . を使用します。次の例では、2 つの変数と 2 つの型指定された文字列を連結します。
local firstAnimal = "porcupines" local secondAnimal = "dolphins" print("I like " .. firstAnimal .. " and " .. secondAnimal)まとめ
オブジェクト名の横にある + ボタンをクリックすると、新しいスクリプトを作成できます。ServerScriptService は、新しいスクリプトを作成する一般的な場所です。新しいスクリプトには、デフォルトのコードprint(“Hello world!”)が含まれています。このコードにより、Hello world!が表示されます。出力ウィンドウで、コードの結果とエラーが発生したかどうかを確認できます。
コメントを残す コメントをキャンセル ゲームをしよう ゲームを作ろう プログラミングを学ぼう クリエイター・コミュニティー- ・Robloxのゲームを作りたい
- ・すでにゲームを作っている
- ・プログラマーやモデラーなど
- ・インフルエンサー
- 音楽に合わせてパーツを変化させる
- 飛び道具をツールで作る
- モジュールスクリプトの「:」と「.」
- サウンドのエラー
- プレイヤーの上に文字を表示
- 第25回 ~GUIの基礎、クライアントとサーバー~ に schilverberch より
- 第25回 ~GUIの基礎、クライアントとサーバー~ に lidea より
- 9.パーツの結合 に kagome より
- 5.GUIの作成 に schilverberch より
- 5.GUIの作成 に dewamaru0 より
- Home
- 技術資料
- ロブロックスをはじめよう
- ロブロックスを起動しよう
- ホーム
- 1.ゲーム制作のすすめ
- 2.Roblox Studioの準備
- 3.自分のゲーム
- 4.ゲームを完成させよう
- 5.パーツの移動
- 6.パーツの拡大縮小
- 7.パーツの回転
- 8.パーツを学ぶ
- 9.パーツの結合
- 10.パーツにエフェクトを追加
- 11.Explorer/エクスプローラを理解する
- 12.Properties/プロパティを理解する
- 13.地形エディタ
- 14.Toolbox/ツールボックスの使い方
- 15.セーブと公開
- 16.チーム制作
- おすすめアセット
- おすすめプラグイン
- カスタムGPTツール
- ゲームのアイデア
- ROBLOXのグループに入ろう
- 音楽を作ろう
- ロブロックスのおすすめ書籍
- M-B1 アーティストになる
- M-B2 テストプレイ
- M-B3 パーティクルエミッター
- M-B4 公開して保存
- M-B5 チャレンジチェックポイント1
- M-B6 テクスチャの使用
- M-B7 爆風を完成させる
- M-B8 爆発を作る
- M-B9 チャレンジチェックポイント2
- M-B10 最後の仕上げ
- M-B11 友達を招待
- M-B12 チャレンジチェックポイント3
- M-B13 スパークラーの作成
- B-E1 魅力的なゲームを生み出す
- B-E2 ビームを接続する
- B-E3 アクションにパーティクルを使用する
- B-E4 スクリプトの追加
- I-B1 テンプレートを開く
- I-B2 ゲームをテストする
- I-B3 アニメーションの作成
- I-B4 最初のポーズを作成する
- I-B5 保存して公開
- I-B6 チャレンジチェックポイント1
- I-B7 アニメーションのループ
- I-B8 2番目のポーズの追加
- I-B9 チャレンジチェックポイント2
- I-B10 アニメーションのエクスポート
- I-B11 アニメーションを変更する
- I-B12 友達を招待してプレイする
- I-B13 チャレンジチェックポイント3
- I-E1 アニメーションとフィードバック
- I-E2 ポーズの設計
- I-E3 アニメーションを追加する
- G-1 地面から降りる
- G-2 テイク・フライト
- G-3 スピーダーの設計
- G-4 ボディを動かす
- G-5 保存して公開
- G-6 チャレンジチェックポイント1
- G-7 ウィングを追加する
- G-8 複製と設計
- G-9 パーツのグループ化
- G-10 Garageに入れる
- G-11 スピーダーのテスト
- G-12 チャレンジチェックポイント2
- G-13 カスタマイズしてシェア
- G-14 レースに出る
- G-15 チャレンジチェックポイント3
- G-16 さらなる挑戦
- G-17 スピーダーをシェアする
- G-18 新しいモデルの追加
- G-19 テクスチャの変更
- G-20 世界をデザインする
- C-1 マップの設計
- C-2 グリッドにスナップ
- C-3 保存して公開
- C-4 チャレンジチェックポイント1
- C-5 マップ半分の作成
- C-7 道路の建設
- C-8 建物と小道具
- C-9 街を完成させる
- C-10 島の地形
- C-11 地形ツール
- C-12 チャレンジチェックポイント2
- C-13 スクリプトを変更する
- C-14 ゲームアイコンとサムネイル
- C-15 チャレンジチェックポイント3
- C-16 チャレンジを完了する
- S-1 ストーリーを書く
- S-2 テンプレートを開く
- S-3 チャレンジチェックポイント1
- S-4 コーディングを開始
- S-5 質問のコーディング
- C-6 マップのテストプレイ
- S-6 テストして保存
- S-7 チャレンジチェックポイント2
- S-8 ストーリーのコーディング
- S-9 仕上げと追加
- S-10 チャレンジチェックポイント3
- S-11 チャレンジを完了する
- 企画書を作ろう
- プロトタイプを作ろう
- キャラを動かそう
- ゲームに仕掛けを追加しよう
- UIを表示しよう
- ゲームを完成させて公開しよう
- 第1回 ~ANCHORED~
- 第2回 ~Parent~
- 第3回 ~print~
- 第4回 ~wait~
- 第5回 ~変数~
- 第6回 ~演算~
- 第7回 ~制御文 for~
- 第8回 ~消えていくパーツ forの応用~
- 第9回 ~制御文 while~
- 第10回 ~制御文 repeat-until~
- 第11回 ~制御文 if~
- 第12回 ~変数の活用とオブジェクト~
- 第13回 ~オブジェクトを作る~
- 第14回 ~座標とデータ型~
- 第15回 ~大きさ・色・材質~
- 第16回 ~オブジェクトの関数~
- 第17回 ~関数を作る~
- 第18回 ~タッチイベント Touched~
- 第19回 ~クリックイベント ClickDetector~
- 第20回 ~鍵を拾ってドアを開ける~
- 第21回 ~リーダーボードを作る~
- 第22回 ~Tweenアニメーション~
- 第23回 ~テーブルの活用~
- 第24回 ~モジュールスクリプト~
- 第25回 ~GUIの基礎、クライアントとサーバー~
- 1-1 スクリプトの作成
- 1-2 オブジェクトとプロパティ
- 1-3 親と子
- 2-1 関数のコーディング
- 2-2 パラメータとイベント
- 2-3 パラメータの練習ーボタン
- 2-4 複数のパラメータと引数
- 3-1 if ステートメントの概要
- 3-2 if/then の練習ートラップ
- 3-3 if/then の練習ーパワーアップ
- 3-4 else/if を使用した複数の条件
- 3-5 else/if の練習ーポイントを与える
- 4-1 while ループでコードを繰り返す
- 4-2 For ループの概要
- 4-3 forの練習-電灯を作る
- 4-4 for の練習ータイマー橋の作成
- 4-5 ネストされたループ
- 5-1 配列の概要
- 5-2 ループと配列
- 5-3 配列の変更
- 5-4 辞書の概要
- 5-5 pairs と ipairs
- 5-6 辞書から値を見つける
- 6-1 モジュール スクリプトの概要
- 6-2 モジュールスクリプトを使用した制作
- 6-3 コーディングの概念ー抽象化
- 6-4 コーディングの概念ーアルゴリズム
- 1.マップの作成
- 2.リーダーボードのコーディング
- 3.アイテムを集める
- 4.アイテムの売却
- 5.バッグのアップグレード
- 6.プロジェクトの終了
- 1.プロジェクトのセットアップ
- 2.ゲームループのコーディング
- 3.プレイヤーの管理
- 4.タイマーとイベント
- 5.GUIの作成
- 6.試合終了
- 7.クリーンアップとリセット
- 8.プロジェクトの終了
- VRゲームの作成(2)
- VRゲームの作成(3)
- AncestryChanged(アンセストリーチェンジド)
- Anchored(アンカード)
- API(Application Programming Interface)
- BrickColor(ブリックカラー)
- CanCollide(キャンコライド)
- CanCollideWith(キャンコライドウィズ)
- CFrame(シーフレーム)
- Changed(チェンジド)
- Clone(クローン)
- CollisionGroupId(コリジョングループアイディー)
- Color(カラー)
- CustomPhysicalProperties(カスタムフィジカルプロパティーズ)
- Destroy(デストロイ)
- GetMass(ゲットマス)
- IsA(イズエ―)
- Locked(ロックド)
- Massless(マスレス)
- Material(マテリアル)
- Parent(ペアレント)
- Position(ポジション)
- Reflectance(リフレクタンス)
- Resize(リサイズ)
- RotVelocity(ロットベロシティ)
- Shape(シェイプ)
- Size(サイズ)
- Touched(タッチド)
- TouchEnded(タッチエンデッド)
- Transparency(トランスペアレンシー)
- Velocity(ベロシティ)
- アルゴリズム(Algorithm)
- イベント(Event)
- インスタンス(Instance)
- オブジェクト(Object)
- クラス(Class)
- ソースコード(Source Code)
- デバッグ(Debug)
- バグ(Bug)
- プロパティ(Property)
- メソッド(Method)
- メタクラス(Meta Class)
- ライブラリ(Library)
- ループ(Loop)
- 変数(Variable)
- 条件文(Conditional Statement)
- 配列(Array)
- 関数(Function)
- 【1】プロジェクトの概要
- 【2】Roblox Studio の基本
- 【3】パーツとプラットフォーム
- 【4】テーマと色
- 【5】チェックポイントの作成
- 【6】スクリプトの作成
- 【7】関数と変数
- 【9】ループ
- 【8】プロパティ
- 【10】コードの再利用
- 【1】バランスのとれたマップ設計
- 【2】グリッドにスナップ
- 【3】保存する
- 【4】構築とテスト
- 【5】マップの半分を作成する
- 【6】マップのテストプレイ
- 【7】道路を建設する
- 【8】中型の建物と小道具
- 【9】街を完成させる
- 【10】マップの形状をカスタマイズする
- 【11】地形ツール
- 【12】与えられるポイントを変更する
- 【13】ゲームアイコンの作成
- 【14】サムネイルのアップロード
- 【15】ゲームを公開する
- 【1】関数
- 【2】インスタンスとパーティクル
- 【3】パラメータとイベント(トラップ)
- 【4】パラメータとイベント(ボタン)
- 【5】if/then文を使用する
- 【6】if/then文によるトラップ
- 【7】if/then文(パワーアップ)
- 【8】関数から値を返す
- 【9】Forループ(タスクを繰り返す)
- 【10】forループ(光るライトの作成)
- 【11】時間制限付きの橋を作成する
- 【12】elseif、elseを含む複数の条件
- 【13】ポイントを与えるパーツを作成する
- 【14】配列の使用と作成
- 【15】配列によるループ
- 【16】配列に変更を加える
- 【17】連想配列
- 【18】pairsとiPairs
- 【19】モジュールスクリプト入門