2016-11-07 18 views
0

私はゆっくりと、その後に表示されImageLabelを作るModuleScript機能を実行して、あなたがレンガをタッチすると、それはあなたのキャラクターを凍結ますようにそれを作るしようとしていますあなたのキャラクターがその建物の内外にテレポートされたときに消えます。これまでのところ、私はあなたのキャラクターをフリーズさせて関数を呼び出すことができましたが、Imageを表示および消滅させるコードは動作していません。ROBLOXのLua - 画像透明機能

_G.BeginFade = {}

_G.BeginFade.GlobalFunction = function()

`local Image = game.StarterGui.Fade.FadeImage` 
Image.Visible = true 
repeat 
    Image.ImageTransparency = Image.ImageTransparency - 0.1 
    wait(0.2) 
until 
    Image.ImageTransparency == 0 
wait(2) 
repeat 
    Image.ImageTransparency = Image.ImageTransparency + 0.1 
until 
    Image.ImageTransparency == 1 

end

私は()関数を呼び出して、私は別のスクリプトから呼び出す_G.BeginFade.GlobalFunctionを使用します。これは、コードです。関数を含むModuleScriptはStarterGuiにあります。これは、このエラーが返されます:あなたは別のスレッドでそれを宣言した場合可能性があるので、あなたに見てみたいことがあります

Workspace.Home Teleport.tele2.Teleport pad Script:47: attempt to index field 'BeginFade' (a nil value)

答えて

0
local player = game.Players.LocalPlayer 
local Image = player.StarterGui.Fade.FadeImage 
local i = 0 --have i as a stopper for the repeat function, it tends to go over it. 
script.Parent.Door1.Touched:connect(function(hit) 
if hit.Humanoid ~= nil then 
Image.Visible = true 
repeat 
Image.Transparency = Image.Transparency - 0.1 
i = i + 1 
wait(0.1) 
until i == 10 
end 
end) 

script.Parent.Door2.Touched:connect(function(hit) 
if hit.Humanoid ~= nil then 
Image.Visible = true 
repeat 
Image.Transparency = Image.Transparency - 0.1 
i = i - 1 
wait(0.1) 
until i == 0 
end 
end) 
+0

ありがとうございますが、私は他のスクリプトから呼び出すことができるように関数に必要です。もし私がそれの一部を取ってそれを関数に入れると、これはうまくいくのでしょうか? – Dragonshield

0

何かをグローバルは、関数の時に宣言されている場合まだそれはゼロです。

実際、指定されたエラーコードは、指定したコードスニペットとは関係ありません。

あなたが私たちにモジュール全体と宣言を与えたなら、ここに直接パッチを与えることができます...しかし、それまでは宣言がスレッド間で同期されているかどうかを調べてください。