2017-02-07 17 views
-2

robloxian luaでこのコードセットを実行しようとするたびに、テキストボックスにアクセスできません。このコードはこれを行うためのコードですが、代わりにテキストボックス内のテキストのプロパティにアクセスしていると思います。ここでは私が使用しているコードをいくらか代表しています。だから、ボブはジョンと話をしたいと言うことができます。私はこれのように書くだろう。Roblox TextBoxでテキストにアクセスできない

game.StarterGui.ScreenGui.Frame.JohnsSpeech.Text = game.StarterGui.ScreenGui.Frame.JohnsUserSetText.Text 

ここで、JohnsUserSetTextはテキストボックスであり、JohnsSpeechはスピーチです。しかし、私がこれをやろうとすると、うまくいきません。それは、テキストがプロパティ内にあるものだけを示します。どんな助けもありがとう。ありがとう!そして、あなたの一日の素晴らしい休日をお過ごしください!

+0

明らかに、それはプロパティにあるものになります。つまり、テキストは何を指しているのでしょうか。 – warspyking

答えて

0

M. Ziegenhornと同じように、あなたの問題はPlayerGuiではなく、StarterGuiを指しているということです。

StarterGuiは、起動時にデフォルトのGUIを含むコンテナですが、PlayerGui(たとえばgame.Players.Ravenshield.PlayerGui)は各プレーヤーのGUIが格納される場所です。 PlayerGuiには、LocalScriptを介してのみアクセスできます。

PlayerGuiにアクセスする最も簡単な方法は、使用しているScreenGuiの中にLocalScriptを配置するだけです。 そうでなければ、あなたも私たちが使っているScreenGuiに直接私のLocalScriptを置くとしたら、それは次のようになりますgame.Players.LocalPlayer.PlayerGui

を行うことで簡単にアクセスできます。

local TextBox = script.Parent.TextBox 
local SpeechLabel = script.Parent.SpeechLabel 

SpeechLabel.Text = TextBox.Text 

しかし、テキストボックスにテキストを書き込むたびにテキストを追加することをお勧めします。次に、ROBLOXのドキュメント、具体的にはTextBox Objectを調べる必要があります。

イベントにスクロールすると、TextBox.Changedイベントが表示されます。これは、TextBoxのプロパティが変更されるたびに発生します。 TextBox.FocusLostを使用することもできます。これは、クライアントがTextBoxのフォーカスを外したときに発生します。このイベントは、クライアントがフォーカスを失うためにenterを押したかどうかを示すboolean 'enterPressed'を提供します。

local TextBox = script.Parent.TextBox 
local SpeechLabel = script.Parent.SpeechLabel 

TextBox.FocusLost:Connect(function(enterPressed) 
    if enterPressed then -- Checking if the enterPressed is true and not nil 
    -- The user must have pressed enter to exit the TextBox. 
    -- Could mean that they're done writing something. 
    SpeechLabel.Text = TextBox.Text 
    end 
end) 

すべてのイベントは:Connectメソッドを使用してバインドする必要があります。これは、ROBLOXにイベントが「リッスン」を開始するように指示するものです。イベントが発生するたびにこの関数が起動するようにします。

+0

私はまだそれを参照する方法について混乱しています。 – Sbss1111

+0

あなたは何を正確に混乱させるのですか?私はそれをよりよく説明しようとすることができます。 最も重要なのは、StarterGuiとPlayerGuiの違いです。 StarterGuiは、各プレイヤーが出現時に受け取るべきすべてのGUI要素を保持するサービスです。これらのオブジェクトに変更を加えた場合、現在生存しているプレイヤーは再生成するまで表示されません。内容は両方のスクリプトタイプからアクセスできます。 PlayerGuiは、各シングルプレーヤーのすべてのGUI要素を保持します。各プレイヤーは独自のPlayerGuiを持ち、リアルタイムで変更を表示します。 LocalScriptでしかアクセスできない – Ravenshield

+0

PlayerGUIにどのように入ってテキストボックスを見つけるのか混乱しています。 – Sbss1111

1

何をすると思われますか? の.textは、テキストボックスまたは類似のものの財産である

注:現在のGUIは、彼らが死ぬまで更新1を取得し、復活しないことを利用し、誰を意味スターターGUIを、変更されています。あなたはヒントが必要な場合は再生成または

に参加する:あなたはGame.Players.playernamehere.PlayerGui

StarterGuiを通して彼らのGUIアクセス、それに1を更新したい場合は、AKAすべてをリロードする際にプレイヤーにどのようなゲームの輸入ですGuiが私に教えてくれると教えてください。

+0

私は、入力されたテキストボックスからテキストを取得することを意味します。 – Sbss1111

+0

あなたはあなたがしたことをしたいと思うでしょうが、プレーヤーguiの初心者のguiの例ではないでしょう: 'game.Players.bob.PlayerGui.ScreenGui.Frame.JohnsSpeech.Text = game.Players.john.PlayerGui.ScreenGui.Frame。JohnsUserText ' –

+0

プレイヤーが最初に参加したときにスクリーンguiとして使用されている、プレーヤーguiを操作することが重要であり、スターターguiを操作することは重要ではない –

関連する問題